查看单个帖子
旧 2008-11-24, 13:13   #1
剑八
初级会员
 
注册日期: 2008-11-24
住址: 福州
帖子: 11
声望力: 17
剑八 正向着好的方向发展
默认 导弹追踪问题

clear;clf
h=0.001;%时间步长
k=1;
t(1)=0;x(1)=0;y(1)=0;%初始值
while x<=30
x(k+1)=x(k)+400*h/sqrt(1+((90*t(k)-y(k))/(30-x(k)))^2)+eps;
y(k+1)=y(k)+400*h/sqrt(1+((30-x(k))/(90*t(k)-y(k)))^2)+eps;
t(k+1)=h*k;
k=k+1;
end
for i=1:30000
plot(x(1:i),y(1:i),'r-',[-1 32],[0 0],'k',[30 30],[0 y(i)],'b.-');
text(4,7,'导弹追踪'); axis equal; hold on;
m(i)=getframe;
hold off;
end
movie(m);
导弹追踪问题 运行时
>> clear
>> missile
Warning: Divide by zero.
> In missile at 8
??? Index exceeds matrix dimensions.

Error in ==> missile at 15
plot(x(1:i),y(1:i),'r-',[-1 32],[0 0],'k',[30 30],[0 y(i)],'b.-');
请问 这是哪里出错了
还有运行时坐标会动
剑八 当前离线   回复时引用此帖