for loop
显示 更早的评论
how to use 'for' in a nested loop and get a result quickly for example I write this code:
%%%%%%%%%%%%%%%%%%
Ac=reshape(Ac,1,[]);
Ac_estm=reshape(Ac_estm,1,[]);
P=size(Ac,2);
T=reshape(T,1,[]);
for(p=1:P)
delta=d*Ac(p);
if(T(p)==0)
while(Ac(p)<=Ac_estm(p)-delta)
Ac(p)=Ac(p)-1;
end
else
while(Ac(p)>=Ac_estm(p)+delta)
Ac(p)=Ac(p)+1;
end
end
end
%%%%%%%%%%%%%
but the execution is very slow and stops over the counter at 9
(T is logical and length(T)>= length(Ac) and length(Ac)=length(Ac_estm))
4 个评论
Andrei Bobrov
2011-4-27
divergent process
while(Ac(p)<=Ac_estm(p)-delta)
Ac(p)=Ac(p)-1;
end
...
while(Ac(p)>=Ac_estm(p)+delta)
Ac(p)=Ac(p)+1;
end
samia
2011-4-27
Andrei Bobrov
2011-4-27
while(Ac(p)<=Ac_estm(p)-delta)
Ac(p)=Ac(p)-1;
end
here perhaps Ac(p)-> -inf
while(Ac(p)>=Ac_estm(p)-delta)
Ac(p)=Ac(p)+1;
end
and here perhaps Ac(p)-> +inf
Andrei Bobrov
2011-4-27
use variant
while(Ac(p)<=Ac_estm(p)-delta)
Ac(p)=Ac(p)+1;
end
while(Ac(p)>=Ac_estm(p)-delta)
Ac(p)=Ac(p)-1;
end
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!