我有一个单元格数组,其中包含多个不同大小的矩阵。我希望找到&用条件替换矩阵的所有元素,例如,用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
这正是我一直在寻找的,再次感谢你。 –