Problem with differential system

This is the script:
syms h x V g t real
x0=[120000;0;10000;g0];
ode1=V*sin(g);
ode2=V*cos(g);
ode3=-rho(h)*V^2/(2*B)+9.81*sin(g);
ode4=-rho(h)*V*0.28/(2*B)+9.81*cos(g)/V-V*cos(g)/R;
odes=[ode1;ode2;ode3;ode4];
ODERES = matlabFunction(odes, 'Vars',{t,[h x V g]});
[t,y]=ode45(@(t,y)ODERES(t,y),[0 100],x0);
And I have these errors:
Index exceeds matrix dimensions.
Error in
symengine>@(t,in2)[in2(:,3).*sin(in2(:,4)),in2(:,3).*cos(in2(:,4)),sin(in2(:,4)).*(9.81e2./1.0e2)-in2(:,3).^2.*exp(in2(:,1).*(-1.881080068002754e-7)).*1.646505376344086e-3,in2(:,3).*cos(in2(:,4)).*(-1.567889620570712e-7)-in2(:,3).*exp(in2(:,1).*(-1.881080068002754e-7)).*4.610215053763441e-4+(cos(in2(:,4)).*(9.81e2./1.0e2))./in2(:,3)]
Error in @(t,y)ODESYS(t,y)
Error in odearguments (line 90)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);
Thank you for helping

 采纳的回答

ODERES = matlabFunction(odes, 'Vars',{t,[h x V g].'});
Notice the transpose on the variable list.

更多回答(0 个)

类别

Community Treasure Hunt

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

Start Hunting!

Translated by