up

3 views (last 30 days)

Show older comments

Hi everyone! I would resolve the following nonlinear differential equation:

f(Y) + b(Y) (Y')^2 + g(Y) Y'' = A

where Y is a function of x, i.e. Y = Y(x), and

f(Y) = a1 + a2*Y + a3*Y^2 + a4*Y^3

g(Y) = b1 f(Y)/Y^3

b(Y) = c1 (a1 + a2 Y + a3 Y^2)/Y^3

In this example A = cost, but it could be A = A(x). I have no idea how to solve with matlab.. some suggestions? can I use some usual ode-routines?

Thanks in advance for all your support.

Pinco

Kye Taylor
on 30 Apr 2013

Edited: Kye Taylor
on 30 Apr 2013

You must write the ODE as a system of first-order ODEs. Use the substitution u1 = y and u2 = y'. Then, you'll end up with equations like

u1' = u2

u2' = F(u1,u2)

where F is a function of u1 and u2 (y and y')... Once you have those equations, create a function named F, like

function uPrime = F(u)

uPrime(1) = u(2);

uPrime(2) = % code for your F(u1,u2)

Note that the input u should be a two-dimensional vector where the comoponent u(1) represents u1, and u(2) represents u2. The output is also a two-dimensional vector, one element for each first-order differential equation in the system above. Such an interface to F is dictated by the requirements of the fsolve function.

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!