1
私は、2D行列を3Dに変換しないで、メモリを効率的に使用することなく、与えられたインデックスの集合から(2Dで)行列の列を抽出しようとしています非常に巨大なデータを処理する)、私はこれを達成することができますか?私は3Dマトリックスの各スライスの2Dマトリックスを再利用しますが、私はそれをどうやって行うのか分かりません。コード例:Extracted
の出力は9x100x30
だろう期待3Dインデックスからの行列の抽出列
A=rand(9,100); %The matrix that will be reused
B=randi([1 100],[1 100 30]); %the indices
Extracted=A(:,B); %this part I can't seem to solve it yet
。どんなアイデアみたいな?前もって感謝します!
を第一の方法を使用して、Extracted' 'の出力は' 1x100x30'、それはしかし、他の8行を逃したことになります。 –
@GregorIsack 'B'の要素が線形インデックスなので、それは起こりません。 – OmG
ありがとう! –