如何替换元胞数组中的元素?
How do I replace an element from a cell array?
我有一个元胞数组:
A = {NaN, ‘k’, ‘m’, ‘n’}
我想用 NaN 替换 A 中除第 3 个元素以外的所有元素以获得
B = {NaN, NaN, ‘m’, NaN}
拜托 help/suggestions 我该如何解决这个问题?另外,是否可以用一行代码做到这一点?
您可以创建一个全部为 NaN 的新数组,然后将第三个元素替换为初始元胞数组中的值
B = num2cell(nan(size(A));
B(3) = A(3);
或者,您可以用以下方法覆盖其他值:
B = A;
B([1 2 4]) = {NaN};
就单行代码而言,行数无关紧要。重要的是可读性和性能。这两个东西跟行数没有必然的关系。
我有一个元胞数组:
A = {NaN, ‘k’, ‘m’, ‘n’}
我想用 NaN 替换 A 中除第 3 个元素以外的所有元素以获得
B = {NaN, NaN, ‘m’, NaN}
拜托 help/suggestions 我该如何解决这个问题?另外,是否可以用一行代码做到这一点?
您可以创建一个全部为 NaN 的新数组,然后将第三个元素替换为初始元胞数组中的值
B = num2cell(nan(size(A));
B(3) = A(3);
或者,您可以用以下方法覆盖其他值:
B = A;
B([1 2 4]) = {NaN};
就单行代码而言,行数无关紧要。重要的是可读性和性能。这两个东西跟行数没有必然的关系。