MATLAB Answers

ODE for system of non linear, second order differential equations

20 views (last 30 days)
I need to solve a system of 3 equations in the variable x1,x2,x3. Normaly I solve differential equations with ode solvers but in this system I have some problem with non linearity. 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 or similar situations. I have a system of differential equation like that:
ddx1=(F1(t)-b11*dx1-a13*ddx3-b13*dx3-a15*ddx5-b15*dx5)/(m+a11) %%Eq. 1
ddx3=(F2(t)-b33*dx3-c33*dx3-a35*ddx5-b35*dx5-c35*dx5-a31*ddx1-b31*dx1)/(m+a33) %%Eq. 2
ddx5=(F3(t)-b55*dx5-c55*x5-a51*ddx1-b51*dx1-a53*ddx3-b53*dx3-c53*x3)/(I22+a55)
%%Eq. 3
All the cofficients are known.
I do not know how write in the ode function for this system. Can somebody please explain or write an example of the ode function required to solve a non linear system like that? I would be grateful. I found a similar post where I wrote but I can not get the meaning.
Best regards Alessandro Antonini

Accepted Answer

Jonathan Epperl
Jonathan Epperl on 3 Jun 2013
Edited: Jonathan Epperl on 3 Jun 2013
I'm not entirely sure I understand your notation, but assuming by dx5 you mean the first derivative of x5, and by ddx5 you mean the 2nd derivative, there are 2 possibilities:
  • Either you can rewrite above system so that the left hand sides are ddx1, ddx3, ddx5 and the right hand sides only contain up to first derivatives. If so, then define new variables Y, as Y1=x1, Y2=dx1, Y3=x3, Y4=dx4 and so on. In those new variables you now have a system of 1st order ODEs that you can solve with ode23 or whatever. If you don't understand, http://www.math.uiowa.edu/ftp/atkinson/ENA_Materials/Overheads/sec_8-7.pdf seems to be a decent explanation.
  • If you are not able to do the above, then you might be dealing with what is called a descriptor system (there might be other names I am not aware of). That is more complicated, but a quick google search brought up a Matlab toolbox for those kinds of things, maybe that'll help you some more: http://elib.dlr.de/11629/1/varga_cacsd2000p2.pdf
  3 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!