У меня есть две матрицы A и B. A - это массив длиной 1000X1, состоящий из 0 и 1, и B также имеет одинаковый размер. Теперь B является выходом функции, которая выполняет операцию развертки, принимая A в качестве входа. Развертка - это не что иное, как добавление нулей вместо 1 в A. Таким образом, значения B похожи на A, за исключением того, что некоторые из 1 заменяются на 0. Теперь моя задача состоит в том, чтобы заполнить те 0 значений в B, которые были заменены после операции развертки случайными двоичными значениями. Я сделал это с помощью пользователя из этого замечательного веб-сайта. И код для того же здесь
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. Любая помощь будет очень цениться ,