2014-08-31 47 views
0

內部循環是否可以被矢量化?如果是這樣,怎麼樣?表達式的MATLAB矢量化

for M=1:n_iter 
    for k=1:length(v) 
     v(k) = min(v(k), (v(max(k − M,1)) + v(min(k + M,length(v))))/2); 
    end 
end 

的問題是如何從與所述迭代變量k

(v(min(k − M,1)) + v(max(k + M,length(v))))/2 

我想在C++實現它之前嘗試SNIP算法構建體的載體。

回答

0

有時,向量化環路簡單地需要與矢量來替換循環:

for M=1:n_iter 
    k=1:length(v) 
    v(k) = min(v(k), (v(max(k − M,1)) + v(min(k + M,length(v))))/2); 
end