# How to solve a system of nonlinear 2nd order differential equations?

9 views (last 30 days)

Show older comments

Hi there,

I have a challenge solving a system of differential equations 2nd order. I do not receive an error message but have rather strange results... Could you please have a look on what I did and comment on it. If you think the way it was done is fine, I may have the bug some where else...

function dHbar = diffH(tspan,H)

h1 = H(1);

dh1 = H(2);

ddh1 = H(3);

h2 = H(4);

dh2 = H(5);

ddh2 = H(6);

h3 = H(7);

dh3 = H(8);

ddh3 = H(9);

% etc

% the equations are very long. In short the look similar to the following where f(h1,dh1) means some expression as a function of ...

% A1 to A3 are known

ddh1 = ( A1 * f(h1,dh1) + A2 * f(h2,dh2,ddh2) + A3 * f(h3,dh3,ddh3));

ddh2 = ( A2 * f(h2,dh2) + A1 * f(h1,dh1,ddh1) + A3 * f(h3,dh3,ddh3));

ddh3 = ( A3 * f(h3,dh3) + A1 * f(h1,dh1,ddh1) + A2 * f(h2,dh2,ddh2));

dHbar = [h1; dh1; ddh1; h2; dh2; ddh2; h3; dh3; ddh3];

Then I call it with

[T,Hbar] = ode45('diffH',tspan,H); % with tspan - time and H - starting values

As mentioned above, I receive some solution, but it seems strange.

Thanks a lot for your help in advance. Cheers, Franziska

##### 7 Comments

Babak
on 4 Mar 2013

### Answers (2)

Babak
on 21 Feb 2013

Franziska
on 2 Mar 2013

##### 1 Comment

Alessandro Antonini
on 1 Jun 2013

I need to solve a system of 3 equations in the variable x1,x2,x3, I do not know how write the ode function that takes into account a term of a second order derivative of x2 in equation 1. I have a system like that:

ddx1=F1(t)-B1*dx1-M3*ddx3-B3*dx3-M2*ddx2-B2*dx2

ddx2=F2(t)-B2*dx2-K2*dx-M1*ddx1-B1*dx1-M2*ddx2-B2*dx2

ddx2=F3(t)-B3*dx3-K3*dx3-M1*ddx1-B1*dx1-K1*dx1-M2*ddx2-B2*dx2

I do not know how write in the ode function for this system. Can you please explain o write an example of the ode function required to solve a non linear system like that? I would be greateful

Best regards Alessandro Antonini

### See Also

### Community Treasure Hunt

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

Start Hunting!