私はMatlabを初めて使用し、3次元配列を作成しようとしています。基本的に1x81
、1つのマトリックスに4つのマトリックスが必要です4x1x81
。forループを使用してこれを実行し、それぞれをに接続しようとし1x81
ました4x1x81
が、これまでのところうまくいきませんでした。もっと簡単な方法があると思いますが、新鮮な目が必要です。どんな助けでも大歓迎です、ありがとう!
質問する
3127 次
3 に答える
0
例を挙げて、同じテクニックを適用します。colon
このタスクを実行するには、 or:
演算子を使用する必要があります。
a=1;b=2;c=3;
次に、3 次元行列を次のように作成できます。
new3D_Mat(:,:,1)=a;
new3D_Mat(:,:,2)=b;
new3D_Mat(:,:,3)=c;
Output:
>> new3D_Mat
new3D_Mat(:,:,1) =
1
new3D_Mat(:,:,2) =
2
new3D_Mat(:,:,3) =
3
于 2013-02-26T21:47:33.253 に答える
0
4x1x81
マトリックスを使用する理由 4x81
4 つのマトリックスからマトリックスを作成するのがいかに簡単かを見てください1x81
。
% Matrix of all ones
a = ones(1, 81);
% Matrix of all twos
b = ones(1, 81);
b = b .*2;
% Matrix of all threes
c = ones(1, 81); c = c .*3;
% Matrix of all fours
d = ones(1, 81); d = d .*4;
% Aggregate
all_of_em = [a; b; c; d];
実行whos
して変数を確認します。
Name Size Bytes Class Attributes
a 1x81 648 double
all_of_em 4x81 2592 double
b 1x81 648 double
c 1x81 648 double
d 1x81 648 double
于 2013-03-01T03:45:35.193 に答える
0
具体的に何を試しましたか?matrix(1,1,:)=myvector;matrix(2,1,:)=anotherone;
または、最初のインデックスをループ変数に置き換えるループはどうですか? 検討
>> m(1,1,:)=rand(1,3)
m =
(:,:,1) =
0.3478
(:,:,2) =
0.0276
(:,:,3) =
0.5313
好奇心から、4x81 マトリックスの何が問題なのですか? (すでにお持ちの場合permute
は、4x1x81 の 3D 配列を取得するのに役立つ場合があります。)
于 2013-02-26T21:49:41.753 に答える