假设x
是一个数组[x1, x2, x3, x4, x5]
,我们想要合并x2
和x4
。这是通过将它们的总和放入数组中并从数组中删除x2
和x4
来完成的。输出数组应如下所示:[x1, x2+x4, x3, x5]
.
这是在 Matlab 中执行此操作的一种方法:
tmp = x(2) + x(4);
x(2) = tmp;
x(4) = tmp;
[m,n] = unique(x,'first');
x(sort(n))
只要数组中没有重复项,此方法就有效。是否有任何巧妙的 Matlab 方法可以x
在合并值后不诉诸循环和移动数组元素的情况下执行此操作?