急 用MATLAB编写质点的运动轨迹图像

1个回答

  • function dx=appl(t,x,flag,v)dx=[-t/(x(1)^2+x(2)^2)*x(1)/sqrt(x(1)^2+x(2)^2);v-t/(x(1)^2+x(2)^2)*x(2)/sqrt(x(1)^2+x(2)^2)]; clear;clc;x0=[1,0]; %初值 [t,y1]=ode45('appl',[0,40],x0,[],0.8); %利用ode45求解微分方程[t,y2]=ode45('appl',[0,40],x0,[],1);[t,y3]=ode45('appl',[0,40],x0,[],1.3);[t,y4]=ode45('appl',[0,40],x0,[],sqrt(2));[t,y5]=ode45('appl',[0,40],x0,[],1.5);figure(1)plot(y1(:,1),y1(:,2),'b',y2(:,1),y2(:,2),'k',y3(:,1),y3(:,2),'r',y4(:,1),y4(:,2),'g',y5(:,1),y5(:,2),'m')%画图axis([-1 2 0 1])title('质点运动轨迹');xlabel('X坐标'); ylabel('Y坐标');legend('v=0.8','v=1','v=1.3','v=sqrt(2)','v=1.5')