for i=1:x
for j=1:y
b1=Cb(i,j)-(Mb+Db*sign(Mb));
b2=Cr(i,j)-(1.5*Mr+Dr*sign(Mr));
if (b1<abs(1.5*Db) & b2<abs(1.5*Dr))
Ciny(cnt)=Lu(i,j);
tst(i,j)=Lu(i,j);
cnt=cnt+1;
end
end
end
其中上文中有交代cb等值得数值,但是由于太多无法粘贴,新手求专家把双for简化时间上有所减少
注意:改写的代码有以下两点假设:
(1)cnt的初值为1;
(2)tst的size和Lu相同,若不满足if的条件,元素默认值为0。
如果上述条件不满足,则代码还需要作一些调整。有问题请追问。
b1 = Cb(1:x,1:y)-(Mb+Db*sign(Mb));
谢谢,麻烦问一下双for用什么能代替么?matlabfor循环应该很费时间吧
追答楼上的回答太精妙了,赞!