有很多相关的问题,但我找不到一个完全相关的问题。如果满足if
条件,我需要做一些计算。
这是没有矢量化的代码:
if check(w,t)~=1
do all this
end
在此w
之外的t
和if
上有一个循环,我需要对w
进行矢量化。所以,我想要像
if check(:,t)~=1
do all this (only for those w for which the condition was satisfied)
end
我该怎么做?
答案 0 :(得分:0)
您问题的最佳答案在很大程度上取决于满足条件check(w,t)~=1
或if check(:,t)~=1
时您想要做什么。
尽管如此,您可以使用函数find
查找矩阵check
上元素的索引,在您的情况下为~= 1
:
[r_no_1,c_no_1]=find(ckeck ~= 1)
如果您需要按列工作,可以这样使用find
:
for col=1:size(ckeck,2)
ck_no_1=find(ckeck(:,col) ~= 1)
m=ckeck(ck_no_1,col)*100
end
现在,在每次迭代中,ch_no_1
包含其元素与1不同的行索引(第col列)。
希望这有帮助,
Qapla'