0

私は次のような行列を持っています

A = 
[ 10 20;
  30 40;
  50 60 ]

また、次のようなベクトルがあります

idx = 
[ 2; 1; 1]

つまり、私はしたいです

1 行目の 2 列目 (=20)、

2 行目の 1 列目 (=30)、および

3 行目の 1 列目 (=50)。

[20; のベクトルになるにはどうすればよいですか。30 ; 50]?

4

2 に答える 2

0
A = [ 10 20; 30 40; 50 60 ]
idx = [ 2; 1; 1]
t =(idx==2)*2 + idx
t1 = (idx==1)
A( t+ (t1 .* [0:2]'))

出力

ans =
 20
 30
 50

一般的な数値を使用すると、他の寸法に適合します。

于 2013-04-09T17:34:42.837 に答える