Using ode45 to solve matrix/vector form of state space diff eq
1 view (last 30 days)
Show older comments
I currently have two state space equations in matrix/vector form
The first is Ydot4=[a 0 0 0;0 0 0 0; 0 0 b 0;0 0 0 0 c]*[y1;y2;y3;y4]
The second is Ydot2= [d 0 0 0;0 e 0 0;0 0 f 0;0 0 0 g]*[y1;y2;y3;y4]+[h 0 0 0]*V0(t)
I would like to know how to solve these equations using ODE45 over a timespan of 0 to 1 seconds with intervals of 1ms. And V0(t)=5cos(40t)
Ydot4=V2doubledot
Y4=V2dot
Y3=V2
Y2=V1dot
Ydot2=V1doubledot
Y1=V1 .
7 Comments
Birdman
on 14 Mar 2018
By the time I was closing this, you also closed your initial question as well. Keep this question here and eventually someone will answer.
Answers (2)
James Tursa
on 14 Mar 2018
Edited: James Tursa
on 14 Mar 2018
Trying to understand your nomenclature, and using your element ordering, here is the layout I would normally start with for a 4-element state vector y:
y(1) = Y1 = V1
y(2) = Y2 = V1DOT = d(V1)/dt = d(Y1)/dt
y(3) = Y3 = V2
y(4) = Y4 = V2DOT = d(V2)/dt = d(Y3)/dt
This is not the way I would have done it, btw. I would usually prefer to keep all of the "position" elements next to each other and then all of the "velocity" elements next to each other, rather than interleaving them as you have done. But, continuing with your element ordering, the derivatives would be:
d(y(1))/dt = d(Y1)/dt = d(V1)/dt = y(2)
d(y(2))/dt = d(Y2)/dt = d(V1DOT)/dt = d^2(V1)/dt^2 = V1doubledot
d(y(3))/dt = d(Y3)/dt = d(V2)/dt = y(4)
d(y(4))/dt = d(Y4)/dt = d(V2DOT)/dt = d^2(V2)/dt^2 = V2doubledot
So the first and third element derivatives are easy of course. For the second and fourth derivative elements, that would be obtained from your state space equations in vector form.
But at this point I am confused. Your Ydot4 state space matrix equation seems to map the [y1;y2;y3;y4] back to V2 (as a vector and not as an element), but then your Ydot2 state space matrix equation seems to map [y1;y2;y3;y4] back to V1 (again as a vector and not as an element). So they seem to map to two different variables, and those variables seem to be vectors? Which leads me to believe that all the stuff I just wrote is not valid and doesn't really apply to your problem.
Can you clarify what the variables in your system are, what their dimensions are, and what the derivative equations for these variables are? Your current nomenclature is hard for me to follow.
0 Comments
Bilal sadiq
on 2 Aug 2018
Edited: James Tursa
on 2 Aug 2018
Reed Garion Williams can you provide matlab script or some further explanation so that one can better understand to help you....
0 Comments
See Also
Categories
Find more on Function Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!