2

次元の異なる5つの行列(n = 256、512、1024、2048、および4096)があり、それらを配列に格納する方法を考えていました(後でforループで反復処理できます)。{\ tt matArray = [ABCDE];}を実行しようとしましたが、horzcatには同意するディメンションが必要であると表示されました。セルも使用してみましたが、「doubleからセルに変換できません」というエラーが表示されるため、正しく使用されていない可能性があります。これが私にエラーを与えているコードの一部です:

A=randi(9, 256);
B=randi(9, 512);
C=randi(9, 1024);
D=randi(9, 2048);
E=randi(9, 4096);
matArray=cell(1,5);
matArray(1)=A;
matArray(2)=B;
matArray(3)=C;
matArray(4)=D;
matArray(5)=E;

何が起こっているのか分かりますか?前もって感謝します。

4

2 に答える 2

5

使用するmatArray{1}=A;

これが、セル要素に対処する方法です。matArray{1}後でetcで参照できます。

matArray簡単なステートメントですべての行列を初期化できます。

matArray = {A; B; C; D; E};

セルの初期化に中括弧を使用していることに注意してください。

于 2013-02-17T00:09:19.370 に答える
-1

垂直連結を行うにはセミコロンが必要です。

matArray = [A; B; C; D; E];
于 2013-02-17T00:13:54.273 に答える