2

別の配列に格納されている z 座標を使用して、3D マトリックスの要素から配列を作成したいと思います。最も簡単な方法は次のとおりです。

X=2;
Y=3;
lastZ=10000000
for i=1:lastZ
    new_array=matrix(X,Y,Z(i));
end

しかし、 for-loopの代わりに行列のみを使用する「ベクトル化された」方法を探しています。次のコードを試してみましたが、「添字インデックスは実数の正の整数または論理値でなければなりません」というエラー メッセージが表示されます。

new_array=matrix(X,Y,Z);

Z は配列であり、整数である X および Y と一緒に置くことはできないことを理解しています。ワンライナーコードでそのような配列を作成するより良い方法はありますか?

4

1 に答える 1

3

あなたが試すことができます:

new_array=squeeze(matrix(X,Y,1:Z));
于 2012-07-12T16:24:13.430 に答える