4

matlab に 3D 行列があることを検討してください。

A(:,:,1) = [1 2 3;4 5 6;7 8 9];
A(:,:,2) = [11 22 33;44 55 66;77 88 99];
A(:,:,3) = [111 222 333;444 555 666;777 888 999];

さてお願いするときは

A(1:end,1,:)

私は3つの異なる答えを得ます:

A(1:end,1,1) = [1 2 3];

A(1:end,1,2) = [11 22 33];

A(1:end,1,3) = [111 222 333];

おそらくサイクルなどなしで、これを1つの命令で取得したい:

[1 2 3;11 22 33;111 222 333]

入手方法は?

一連のベクトルではなく、新しい行列が必要です。

ありがとうございました。

4

1 に答える 1

7
squeeze(A(1,:,:))'

動作します。私が賢く、またはこれにもっと時間を費やす気があれば、転置せずにそれを行うことができると思いますが、これはあなたを正しい方向に向けるはずです.

于 2012-05-08T08:47:40.773 に答える