如何从单元格数组中替换元素?

时间:2017-02-09 14:09:42

标签: matlab cell-array

我有一个单元格数组:

A = {NaN, ‘k’, ‘m’, ‘n’}

我想用NaN替换除A的第3个元素之外的所有元素以获取

B = {NaN, NaN, ‘m’, NaN}

请问,关于我如何解决这个问题的任何帮助/建议?此外,是否可以使用一行代码执行此操作?

1 个答案:

答案 0 :(得分:1)

你可以创建一个包含所有NaN的新数组,然后用初始单元格数组中的值替换第三个元素

/^(?!(?=.*X)(?=.*Y))(?=.*\bA)(?=.*\bB)(?=.*\bC).{0,150}$/i

或者,您可以使用以下内容覆盖其他值:

B = num2cell(nan(size(A));
B(3) = A(3);

就单行代码而言,行数无关紧要。重要的是可读性和性能。这两件事不一定与行数相关。