2013-03-30 88 views
0

我正在做一個關於粒子羣優化的項目,在Matlab中進行編碼。我需要用矩陣B中的某些行替換矩陣A的行,並從矩陣B中刪除這些行。我怎樣才能做到這一點?在矩陣之間的行移位matlab

回答

0

把你的載體行索引,說

indexA=[0 0 0 1 0 1 1 0]. 
indexB=[0 1 0 1 0 1]. 

分區B到

A(indexA,:) = B(indexB,:); 
B(indexB,:) = []; 
+1

你不需要'B1'或'B2'緩衝區BTW。你可以做'A(indexA,:) = B(indexB,:); B(indexB,:) = []'; – Justin

+0

@jucestain好點。 –

+4

我也不認爲這裏使用邏輯索引是最好的。我可能會用'indexA = [4 6 7]'和'indexB = [2 4 6]'來表明它們長度相同。但那只是我。 – Justin