0
我有兩個矩陣A和B.A是長度爲1000X1的數組,它由0和1組成,B也是相同的大小。現在B是以A爲輸入執行掃描操作的函數的輸出。掃描只不過是在A的位置添加了零,所以B的值與A相似,除了1的一部分被替換爲0之外。現在我的任務是填充B中的那些0值,這是在掃描操作後用隨機二進制值替換的。我已經在這個真棒網站的用戶幫助下完成了這項工作。而對於同樣的代碼是在這裏在matlab中比較兩個長度相同的不相似的向量
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的零的零,而不是那些0的哪些人在答案中已經爲零。任何幫助將非常感激。
我應該在哪裏在上面的函數中添加此代碼!順便謝謝你的回覆! – Spaniard89
你應該在計算「B =掃描(A)」後立即執行該操作;「上面的代碼將用隨機二進制數字代替B的變化座標。 – Oli
所以我不應該使用我上面發佈的代碼?你的這兩行會做魔術嗎?在掃描操作之後,隨機零將出現在B中,而我只是希望那些零被替換爲隨機二進制值,而不是已經爲零的那個!你能告訴我如何在功能上添加你的代碼,將A和B作爲輸入,並將B的修改版本作爲輸出!非常感謝你提前! – Spaniard89