0

プログラムで作業していて、セルに保存されているデータにアクセスする必要がありますが、これを理解できません。これは私が知っていることです:

X1、X2、...、X5 の 5 つの行列があります。セルが作成されます, C={X1 X2 ... X5} 次に、乗算テーブル c{i,j}=C{i}*C{j} for i,j=1:5 を作成しますので、c{i, j} は 5 行 5 列のセルです。最後に、各セル c{i,j} を変更して cx{i,j} を作成します。cx{i,j} の各要素は、cx{i,j}={c{i,j}(1,:) のように、c{i,j} の各行列要素の最初の 2 行で構成されます。 c{i,j}(2,:)}

したがって、cx{i,j} は 5 x 5 のセルです。cx{i,j} を MATLAB に入力して数値を取得できるようにしたいのですが、セル構造を取得するだけです。[cx{i,j}] を試しましたが、うまくいきません。数値を取得できるコマンドは何ですか? ありがとう。

4

1 に答える 1

1

問題:

>> cx{i,j} = {c{i,j}(1,:) c{i,j}(2,:)}

2 つのベクトルを持つ1x2セルを作成します。1x5これは5x5マトリックスではありません。

考えられる解決策:次の方法で
作成できますcx{i,j}

>> cx{i,j} = [ c{i,j}(1,:) ;c{i,j}(2,:) ]

を作成する角括弧[とセミコロンに注意してください。 現在、はマトリックスであり、 と入力するだけでアクセスして表示できます。;cx{i,j}
cx{i,j}2x5cx{i,j}

いくつかのコメント

  • このようなタイプの問題 (およびその他の多くの問題) については、Matlab のデバッガーを使用して、何が起こっているかを正確に確認することをお勧めします。

  • andを Matlab の変数名として使用しないことijをお勧めします。

于 2013-07-17T05:31:45.280 に答える