1

私はMatlabを初めて使用し、3次元配列を作成しようとしています。基本的に1x81、1つのマトリックスに4つのマトリックスが必要です4x1x81。forループを使用してこれを実行し、それぞれをに接続しようとし1x81ました4x1x81が、これまでのところうまくいきませんでした。もっと簡単な方法があると思いますが、新鮮な目が必要です。どんな助けでも大歓迎です、ありがとう!

4

3 に答える 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マトリックスを使用する理由 4x814 つのマトリックスからマトリックスを作成するのがいかに簡単かを見てください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 に答える