ODE23 taking in 3 variables

I can run this function with 2 z values but when I try to add another z value I get an error. Do you know how to run this function for 3 z values?
Error: Index exceeds matrix dimensions.
function dxdy = TY3(t,z)
dxdy = [z(3); 1*z(3)+2*z(2)+3*z(1)];
[t,z] = ode23(@TY3,[0 30],[1 0 ]);
plot(t,z(:,1),'k','LineWidth',2);

 采纳的回答

You have 3 variables z(1),z(2) and z3, you need to write 3 equations dydx(1),dydx(2) and dydx(3), for example
dxdy = [z(3); 1*z(3)+2*z(2)+3*z(1);0]
and call ode23 with 1x3 array representing initial conditions
[t,z] = ode23(@TY3,[0 30],[1 0 1 ]);
plot(t,z(:,1),'k','LineWidth',2);

3 个评论

Well that allows it run. Thank you. It didn't produce what I expected but at least it does now run. That's progress.
I just gave an example, you have to provide the third equation and the initial conditions
Ok thanks!! I got it working.

请先登录,再进行评论。

更多回答(0 个)

类别

产品

Community Treasure Hunt

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

Start Hunting!

Translated by