matlab ode45 求解二阶常微分方程
新手想用ode45求解上述二阶三元常微分方程组,几次尝试均未成功,请大神帮忙编写matlab代码,最好有图,谢谢!...
新手想用ode45求解上述二阶三元常微分方程组,几次尝试均未成功,请大神帮忙编写matlab代码,最好有图,谢谢!
展开
1个回答
展开全部
function test()
[t,y]=ode45(@func1, [0,1], [0;0;1;2;2;2]);
figure(1);
clf;
plot(t, y);
legend('x','y','z','dx','dy','dz');
grid on;
function f=func1(t,x)
r=(x(1)^2+x(2)^2+x(3)^2)^(1/2);
f=[x(4); x(5); x(6); r*x(1); r*x(2); r*x(3)];
[t,y]=ode45(@func1, [0,1], [0;0;1;2;2;2]);
figure(1);
clf;
plot(t, y);
legend('x','y','z','dx','dy','dz');
grid on;
function f=func1(t,x)
r=(x(1)^2+x(2)^2+x(3)^2)^(1/2);
f=[x(4); x(5); x(6); r*x(1); r*x(2); r*x(3)];
更多追问追答
追问
您好,是我表述的不清楚,我想要的结果是以(x,y,z)为坐标的点随时间的变化曲线。可以帮帮我么,谢谢了。
追答
运行这段代码, 图形就有了啊.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询