写了一个MATLAB程序,可是除了B=0以外,其余取值都是无限死循环T T急求帮助!
function[xp,yp,xm,ym,T]=euler6(h,B)Vp=135;Vm=450;xp(1)=0;yp(1)=120;xm(1)=0;ym(1)=0;d(...
function [xp,yp,xm,ym,T]=euler6(h,B)
Vp=135;Vm=450;
xp(1)=0;
yp(1)=120;
xm(1)=0;
ym(1)=0;
d(1)=120;
T(1)=0;
A(1)=pi/2;
C(1)=A(1)-B;
k=1;
while d>0.1
k=k+1;
xp(k)=xp(k-1)+Vp*h*cos(C(k-1));
yp(k)=yp(k-1)+Vp*h*sin(C(k-1));
xm(k)=xm(k-1)+Vm*h*cos(A(k-1));
ym(k)=ym(k-1)+Vm*h*sin(A(k-1));
d(k)=sqrt((xp(k)-xm(k))^2+(yp(k)-ym(k))^2);
A(k)=asin((yp(k)-ym(k))/d(k));
C(k)=A(k)-B;
T(k)=T(k-1)+h;
end;
xp,yp,xm,ym,T
这个就是那个程序,当h=0.001,B=0时能得出正确答案,可是代入B的别的取值后就是无限死循环T T不知道到底是哪里的问题T T求帮助T T 展开
Vp=135;Vm=450;
xp(1)=0;
yp(1)=120;
xm(1)=0;
ym(1)=0;
d(1)=120;
T(1)=0;
A(1)=pi/2;
C(1)=A(1)-B;
k=1;
while d>0.1
k=k+1;
xp(k)=xp(k-1)+Vp*h*cos(C(k-1));
yp(k)=yp(k-1)+Vp*h*sin(C(k-1));
xm(k)=xm(k-1)+Vm*h*cos(A(k-1));
ym(k)=ym(k-1)+Vm*h*sin(A(k-1));
d(k)=sqrt((xp(k)-xm(k))^2+(yp(k)-ym(k))^2);
A(k)=asin((yp(k)-ym(k))/d(k));
C(k)=A(k)-B;
T(k)=T(k-1)+h;
end;
xp,yp,xm,ym,T
这个就是那个程序,当h=0.001,B=0时能得出正确答案,可是代入B的别的取值后就是无限死循环T T不知道到底是哪里的问题T T求帮助T T 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询