matlab解决微分方程问题

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 08:30:58
matlab解决微分方程问题

matlab解决微分方程问题
matlab解决微分方程问题

matlab解决微分方程问题
1、楼主确定这是Apollo的方程吗?请参考百度知道问题503781491、504869729(把网址中question后面的那一串数字换成给的这两个数).
 
2、按现有方程编写的参考代码如下:
function zd681023787504628332
% 参考百度知道问题503781491、504869729
options = odeset('RelTol',1e-4);
[t,x] = ode45(@Apollo,[0 4.5],[1.2;0;0;-1.04935751],options);
plot(x(:,1),x(:,2))%绘制x1和x3,也就是x和y的图形
title('Apollo卫星运动轨迹')
xlabel('X')
ylabel('Y')
 
function dx=Apollo(t,x)
% x(1)=x; x(2)=dx; x(3)=y; x(4)=dy;
% dx(1)=x(2)=dx; dx(3)=x(4)=dy;
% dx(2)=ddx;     dx(4)=ddy;
dx = zeros(4,1);
dx(1) = x(2);
dx(2) = ( 2*x(3)+10-2*x(1)*x(4)-6*x(1)*x(2)*x(4) ) / ( 2*x(4)+3*x(2) );
dx(3) = x(4);
dx(4) = ( x(3)+5-x(1)*x(4)+2*x(1)*x(4)^2 ) / ( 2*x(4)+3*x(2) );

仿真时间我设为4.5,时间稍长一些之后,速度非常慢,原因不明.