簡體   English   中英

如何在Matlab中將矩陣中的許多列移到最右邊

[英]How to move a number of columns in a matrix to the right most in matlab

假設我有一個mxn矩陣A。假設我有一個i元素的列表(或向量),其中P的每個元素表示A中的列數。我需要將P指示的所有列移到最右邊的A 例如,在P中的第一個和第i個元素中指示的列將分別成為A的第(ni)個和第n個列。

希望我的發言清楚,讓我知道是否有歧義。 謝謝。

為了使第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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM