我有一個單元格數組,其中包含多個不同大小的矩陣。我希望找到&用條件替換矩陣的所有元素,例如,用0代替全部1。我發現了一個臨時的解決方案,從find and replace values in cell array,但似乎這樣更復雜,它應該是:matlab:查找和替換單元格陣列中的矩陣元素
例子:
A = {[1 2;3 4] [1 2 3;4 5 6;7 8 9]}
replacement = 1:9;
replacement(replacement==1)=0;
A = cellfun(@(x) replacement(x) ,A,'UniformOutput',false)
A{:}
ANS =
0 2
3 4
ANS =
0 2 3
4 5 6
7 8 9
所以它的工作原理,但我覺得這應該是可行的,沒有首先指定一個替代VA列表然後「交換」所有元素。 (我必須做很多事情,並且需要更復雜的條件)。有什麼建議麼?
只能與0替代元素的具體情況,但是這是一個很常見的情況,它是爲這種情況下非常巧妙的解決辦法。謝謝! –
@lmoes擴展到一般情況很容易。查看編輯。 – Divakar
這正是我一直在尋找的,再次感謝你。 –