假設x
是數組[x1, x2, x3, x4, x5]
,我們想要合併x2
和x4
。這是通過將它們的總和放在數組中並從數組中刪除x2
和x4
來完成的。輸出數組應該如下所示:[x1, x2+x4, x3, x5]
。在Matlab中合併數組元素
這裏是在Matlab這樣做的一種方法:
tmp = x(2) + x(4);
x(2) = tmp;
x(4) = tmp;
[m,n] = unique(x,'first');
x(sort(n))
此方法,只要在數組中沒有重複。是否有任何巧妙的Matlab方法可以在任何x
上執行此操作,而無需在合併值之後使用循環和數組元素移位?
一般來說,輸入是一個數組x和要合併的目標索引i,j。 – locke14