作者Saint1225 (Saint)
看板MATLAB
标题[讨论] matlab不断处於busy状态
时间Sun Sep 8 13:57:14 2013
小弟是个matlab新手
我将一个A变数带入至副程式
并利用回传的值在主程式中重新计算一个新的A并再带入副程式
因为A在主程式中会利用回圈进行叠加
每当有新的回传值就要计算新的A
所以我在每次重新计算A之前用A=[0 0 0 0]的方式来重设A的值
但只要多了这个重设的动作就会让matlab在执行时停在busy状态
无法手动停止,只能强制关闭程式
想请问造成的原因或是有其他能重设A的方式吗?
附上程式:
while settol<trytol && nfunc2<=5
u= MySimplex5(Array2,test,p,q);
test=[0 0 0 0]; %只要重设test就会卡在busy
for e=1:4
for v=1:5
h=u(e,1)*p(v)^2+u(e,2)*p(v)+u(e,3);
test(e)=test(e)+((abs(h-q(v)))^2)/5;
end
end
trytol=min(test);
o=find(test==min(test));
z=u(o,:);
Array2=u;
nfunc2=nfunc2+1;
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.224.23.199
1F:→ ry3298:''clear A''??? 09/08 15:55
我在主程式加入clear A以及重设A=[0 0 0 0],一样处在busy
若只有clear A,则後面的 A=A+... 因为没有宣告A而无法执行
※ 编辑: Saint1225 来自: 36.224.23.199 (09/08 16:23)
※ 编辑: Saint1225 来自: 36.224.23.199 (09/08 17:56)
2F:推 immomo808:zeros? 09/09 11:14
3F:→ ejialan:为什麽要重设test 你的test部分看起来像叠代 09/09 13:35
4F:→ ejialan:把test清掉他就一直停在叠代一次 busy是因为无穷回圈 09/09 13:36