我有两个矩阵A和B. A是一个长度为1000X1的数组,由0和1组成,B也是相同的大小 . 现在B是一个函数的输出,它以A作为输入执行扫描操作 . 扫描只不过是在A中的1处添加零 . 因此B的值与A类似,除了1中的一些被0替换 . 现在我的任务是填充B中的那些0值,这些值在扫描操作后被随机二进制值替换 . 我已经在这个真棒网站的用户帮助下完成了这个 . 并且相同的代码在这里
idx=strfind(B,[0 0 0 0]);
n=dec2bin(randi([0 15],[numel(idx) 1]),4) - '0';
idx=bsxfun(@plus, idx', (0:3));
xx = B;
xx(idx(:)) = n(:);
现在这个函数也将替换已经存在于A中的零 . 我想只替换那些从1变为0的零而不是那些在A中已经为0的0 . 任何帮助都将非常感激 .
1 回答
我会做: