写了一个MATLAB程序,可是除了B=0以外,其余取值都是无限死循环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(1)=120;T(1)=0;A(1)=pi/2;C(1)=A(1)-B;k=1;while d>0.1k=k+1; xp(k)=xp(k-1)+Vp*h*cos(
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 17:23:58
![写了一个MATLAB程序,可是除了B=0以外,其余取值都是无限死循环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(1)=120;T(1)=0;A(1)=pi/2;C(1)=A(1)-B;k=1;while d>0.1k=k+1; xp(k)=xp(k-1)+Vp*h*cos(](/uploads/image/z/6114390-6-0.jpg?t=%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AAMATLAB%E7%A8%8B%E5%BA%8F%2C%E5%8F%AF%E6%98%AF%E9%99%A4%E4%BA%86B%3D0%E4%BB%A5%E5%A4%96%2C%E5%85%B6%E4%BD%99%E5%8F%96%E5%80%BC%E9%83%BD%E6%98%AF%E6%97%A0%E9%99%90%E6%AD%BB%E5%BE%AA%E7%8E%AFT+function+%5Bxp%2Cyp%2Cxm%2Cym%2CT%5D%3Deuler6%28h%2CB%29Vp%3D135%3BVm%3D450%3Bxp%281%29%3D0%3B+yp%281%29%3D120%3Bxm%281%29%3D0%3Bym%281%29%3D0%3Bd%281%29%3D120%3BT%281%29%3D0%3BA%281%29%3Dpi%2F2%3BC%281%29%3DA%281%29-B%3Bk%3D1%3Bwhile+d%3E0.1k%3Dk%2B1%3B+xp%28k%29%3Dxp%28k-1%29%2BVp%2Ah%2Acos%28)
写了一个MATLAB程序,可是除了B=0以外,其余取值都是无限死循环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(1)=120;T(1)=0;A(1)=pi/2;C(1)=A(1)-B;k=1;while d>0.1k=k+1; xp(k)=xp(k-1)+Vp*h*cos(
写了一个MATLAB程序,可是除了B=0以外,其余取值都是无限死循环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(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
写了一个MATLAB程序,可是除了B=0以外,其余取值都是无限死循环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(1)=120;T(1)=0;A(1)=pi/2;C(1)=A(1)-B;k=1;while d>0.1k=k+1; xp(k)=xp(k-1)+Vp*h*cos(
粗略看了下,应该是while后面条件写错了,我估计你的意思应该是写成d(k)>0.1这样应该不会死循环了