next up previous contents
Next: LU 分解 Up: 行列の成分の並べ変え Previous: shift

sort

octave> a=[1,3,2,5,4]
a =

  1  3  2  5  4

octave> sort(a)
ans =

  1  2  3  4  5

octave> [s,i]=sort(a)
s =

  1  2  3  4  5

i =

  1  3  2  5  4
s が並べ変え後で, i は s の各成分の並べ変え前の番号である.

行列を sort すると, すべての列をそれぞれ並べ変える. また, 各列の並べ変え前の番号も分かる:

octave> a = [1, 2; 2, 3; 3, 1]
a =

  1  2
  2  3
  3  1

octave> [s,i] = sort(a)
s =

  1  1
  2  2
  3  3

i =

  1  3
  2  1
  3  2

行を入れ換えて, 第 2 列目を小さい順にする例:

octave> a=[1,2,3;4,1,6;7,3,9]
a =

  1  2  3
  4  1  6
  7  3  9

octave> [s,i]=sort(a(:,2))
s =

  1
  2
  3

i =

  2
  1
  3

octave> a(i,:)
ans =

  4  1  6
  1  2  3
  7  3  9



Toru Sasaki
2001-07-23