MATLAB运行程序后,出现了一下busy,但后面没有结果出来,也没有提示,求高手指点,看看程序有没有问题

functionNJ1=pmassnum(r,v)s=length(r);s=s-1;i=1;whilei<sm=[r(i),r(i+1),r(i+2)];n=[v(i)... function NJ1=pmassnum(r,v)
s=length(r); s=s-1;
i=1;
while i<s
m=[r(i),r(i+1),r(i+2)]; n=[v(i)/100,v(i+1)/100,v(i+2)/100];
b=polyfit(m,n,2);
a(i,1)=b(1); a(i,2)=b(2); a(i,3)=b(3);
i=i+1;
end
i=1;
while i<s
e=-12*a(i,1)/(pi)*(1/r(i+1)-1/r(i));
f=-3*a(i,2)/(pi)*(1/r(i+1)^2-1/r(i)^2);
if i==1
sm(i)=e+f;
if sm(i)<0
sm(i)=0;
end
else
sm(i)=sm(i-1)+e+f;
if sm(i)<0
sm(i)=0;
end
end
i=i+1;
end
e=-12*a(i-1,1)/(pi)*(1/r(i+1)-1/r(i));
f=-3*a(i-1,2)/(pi)*(1/r(i+1)^2-1/r(i)^2);
sm(i)=sm(i-1)+e+f;
i=1;
while i<s+1
NJ(i)=1/2.71*1e12*sm(i)/1e06;
if i==1
NI(i)=NJ(i);
else
NI(i)=NJ(i)-NJ(i-1);
end
i=i+1;
end
展开
 我来答
欢裕AV
2012-06-11
知道答主
回答量:20
采纳率:0%
帮助的人:20.8万
展开全部
matlab 会ouput busy 是因为 stuck in a infinite loop. 但我看你的 code while loop 写的都还ok,没有什么大错误。你应该看看你的main 和别的function。再check一下你pass in 的 variable。 如果你的variable非常大那也有可能matlab 速度跟不上。 但一般来说超过1分钟还没停就代表有问题了。
追问
busy不是一直显示的,闪了一下就不见了,这表示还在计算吗?
如果是variable非常大的原因,有解决的办法吗?望指教!
追答
busy 一下就没了是正常的,因为已经解开了。 你确定你的program 不工作还是只是没有output出你的结果?在program 结尾加个 disp('end program') 试试。
variable 非常大一般没别的办法,只能等。 matlab别的都好就是慢。 你可以试试用c啊。比matlab要快多了。
1069278492
2012-06-22 · TA获得超过680个赞
知道答主
回答量:184
采纳率:0%
帮助的人:87.2万
展开全部
在program 结尾加个 disp('end program') 试试。
variable 非常大一般没别的办法,只能等。 matlab别的都好就是慢。 你可以试试用c啊。比matlab要快多了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式