ベクトル、行列に対して、添字の代わりに “添字ベクトル” を指定することで、 色々なことが出来る。
>> a=(1:9)'*(1:9) a = 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81 >> a(3:5,4:8) ans = 12 15 18 21 24 16 20 24 28 32 20 25 30 35 40 >> |
>> a=rand(4,3) a = 0.1419 0.9595 0.9340 0.4218 0.6557 0.6787 0.9157 0.0357 0.7577 0.7922 0.8491 0.7431 >> a(2,:) ans = 0.4218 0.6557 0.6787 >> a(:,3) ans = 0.9340 0.6787 0.7577 0.7431 >> |
>> a(9:-1:1,:) ans = 9 18 27 36 45 54 63 72 81 8 16 24 32 40 48 56 64 72 7 14 21 28 35 42 49 56 63 6 12 18 24 30 36 42 48 54 5 10 15 20 25 30 35 40 45 4 8 12 16 20 24 28 32 36 3 6 9 12 15 18 21 24 27 2 4 6 8 10 12 14 16 18 1 2 3 4 5 6 7 8 9 >> a([1 3 2 6 5 4 9 8 7],:) ans = 1 2 3 4 5 6 7 8 9 3 6 9 12 15 18 21 24 27 2 4 6 8 10 12 14 16 18 6 12 18 24 30 36 42 48 54 5 10 15 20 25 30 35 40 45 4 8 12 16 20 24 28 32 36 9 18 27 36 45 54 63 72 81 8 16 24 32 40 48 56 64 72 7 14 21 28 35 42 49 56 63 |
>> x=1:10 x = 1 2 3 4 5 6 7 8 9 10 >> x(2:end-1) ans = 2 3 4 5 6 7 8 9 >> x=(1:10)' x = 1 2 3 4 5 6 7 8 9 10 >> x=x(2:end-1) x = 2 3 4 5 6 7 8 9 >> |