0

メンバーが 1 から 27 の 3x3x3 の Matlab 配列があるとします。

a=reshape(1:27, [3 3 3])

次のような構文でこれのサブセットを作成したいと思います

b=a(range1,range2,range3)

range1=range2=range3=1:2 の場合、メンバーb(1,1,1)b(2,2,2). すなわち

b= [1 14]

インデックス作成だけで、関数 (diag など) を使用せずにこれを行うことは可能ですか? ありがとう...

4

2 に答える 2

1

sub2ind次のような関数で実行できます。

b=a(sub2ind(size(a),range1,range2,range3))

ans: b=[1 14]
于 2013-03-15T23:29:33.423 に答える
1

sub2ind索引付けは、を使用して行うことができます。

a(sub2ind(size(a),[1:2],[1:2],[1:2]))

すべての関数を避けたい場合は、線形インデックスを自分で計算できます...

于 2013-03-15T23:32:11.110 に答える