octave:17> a=rand(3,3) a = 0.425986 0.922402 0.534823 0.629224 0.022539 0.664096 0.481873 0.095883 0.845331 octave:18> a(1,1) ans = 0.42599 octave:19> a(1,1)=2; octave:20> a a = 2.000000 0.922402 0.534823 0.629224 0.022539 0.664096 0.481873 0.095883 0.845331 octave:21> a(:,1) ans = 2.00000 0.62922 0.48187 octave:22> a(2,:) ans = 0.629224 0.022539 0.664096 octave:23> a(1:2,2:3) ans = 0.922402 0.534823 0.022539 0.664096ここで, 1:2 は [1,2] の事だったので, 以下のような使い方ができる.
octave> a a = 0.425986 0.922402 0.534823 0.629224 0.022539 0.664096 0.481873 0.095883 0.845331 octave> a(3,:) ans = 0.481873 0.095883 0.845331 octave> a(1,:) ans = 0.42599 0.92240 0.53482 octave> a([3,1],:) ans = 0.481873 0.095883 0.845331 0.425986 0.922402 0.534823 octave> a([3,1]',:) ans = 0.481873 0.095883 0.845331 0.425986 0.922402 0.534823
これを使って, ベクトルを等間隔に間引くことも出来る:
octave> a=1:10 a = 1 2 3 4 5 6 7 8 9 10 octave> b=a.**2 b = 1 4 9 16 25 36 49 64 81 100 octave> i=1:3:10 i = 1 octave> i=1:3:10 i = 1 4 7 10 octave> b(i) ans = 1 16 49 100列ベクトルも同様:
octave> b=b'; octave> b(i) ans = 1 16 49 100