假设我有一个mxn矩阵A.假设我有一个i元素的列表(或向量)P,其中P的每个元素表示A中列的编号。我需要将P指示的所有列移动到A的最右边;例如,第一个中指示的列和P中的第i个元素将分别成为A的第(n-i)个和第n列。
希望我的发言很清楚,如果有任何含糊之处,请告诉我。 谢谢。
答案 0 :(得分: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);