修改2d数组的元素是条件符合matlab

时间:2013-04-20 15:27:34

标签: matlab

当BW的元素为零时,我想用数组'a'的元素替换数组BW的元素。 这是我写的代码

for i=0:row     for j=0:col
         if BW(i,j)==0             BW(i,j)=a(i,j);       end
    结束     端

如果BW(i,j)= 0

,我会收到错误

2 个答案:

答案 0 :(得分:1)

简单的方法是:

BW(find(BW == 0)) = a(i,j)

答案 1 :(得分:0)

不需要循环。

BW中的零元素编入索引,然后替换为a

中的相应元素
idx = BW == 0;
BW(idx) = a(idx);

此解决方案假定a至少与BW

一样大