0

私はマトリックスを持っています

A = 1   1   1
    2   2   2
    3   3   3
    4   4   4 
    5   5   5

それぞれの列を個別に並べ替えたい順序を含む 3 つの配列があります。例 列 1 に I1、列 2 に I2、....

I1 = 5   I2 = 4   I3 = 3
     4        3        2 
     3        2        1
     2        1        5
     1        5        4

並べ替え後、行列 AI は次のようになります。- I1 のみを使用して 1 番目の列を並べ替える場合

A = 5   1   1
    4   2   2
    3   3   3
    2   4   4 
    1   5   5

2 列目のソートに I2 のみを使用する場合

A = 1   4   1
    2   3   2
    3   2   3
    4   1   4 
    5   5   5

I3 のみを使用して 3 列目をソートする場合

A = 1   1   3
    2   2   2
    3   3   1
    4   4   5 
    5   5   4

I1、I2、I3 のみを使用してすべての列を並べ替える場合

A = 5   4   3
    4   3   2
    3   2   1
    2   1   5 
    1   5   4

やり方を教えてください。

4

1 に答える 1

2

それらの寸法がすべて同じである場合、これが必要なものです。

A([I1 I2 I3]);

列を個別に並べ替えたい場合は、次の構文を使用できます。

A(:,2)=A(I2,2);

または、たとえば列 2 と 3:

A(:,[2 3]) = [A(I2,2) A(I3,3)];
于 2013-07-11T14:56:42.120 に答える