2015-01-13 34 views
1

假設我有一個m×n矩陣A.假設我有一個列表(或一個向量)P的i個元素,其中P的每個元素表示A中的一列。我需要將P表示的所有列移到A的最右邊;例如P中第一個和第i個元素所指示的列將分別變成第(n-1)行和第n列。如何將矩陣中的列數移至matlab中最右側

希望我的發言很明確,讓我知道是否有歧義。 謝謝。

回答

1

要使列3,5,7向右移動,首先會構造指示列的新順序的c。然後使用對其重新排序的c對列進行索引。

>> M=magic(10); 
>> c=[3,5,7]; 
>> c=[setdiff(1:size(M,2),c),c] 

c = 

    Columns 1 through 9 

    1  2  4  6  8  9 10  3  5 

    Column 10 

    7 

>> M=M(:,c); 
+0

這是要走的路! –

+0

非常感謝。 – Patzerook

相關問題