急急急 用MATLAB编写质点的运动轨迹图像
推荐于2018-03-26
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')
2020-06-16 广告