2016-04-04 7 views
1

私は文字列と数字を含む構造体を持っています。入力構造の各要素をセル配列にコピーすることができます。配列-h構文を使用しようとすると、「セル以外の配列オブジェクトからのセル内容参照」エラーが発生します。構造体の数値の配列をCell Arrayにコピーする - Matlab

これは動作します:

C1{3,2} = num(1,1); 
C1{3,3} = num(2,1); 
C1{3,4} = num(3,1); 
C1{3,5} = num(4,1); 
C1{3,6} = num(5,1); 

しかし、これは(なぜ?)していません。

C1{3,:} = num2cell(num{:,1}); 
+0

num2cellを使ってタイプキャストせずに試しました。 –

答えて

0

あなたが参照解除されているかのようにあなたがdouble配列のインデックスを作成しているためエラーが発生しますcell配列(()の代わりに{}を使用)は許可されていません。

この参照問題が修正された後、C1{3,:}という構文では、割り当ての左側にcomma-separated listという拡張が発生するため、Matlabは2つの出力エラーをスローします。 cellアレイをcellアレイに割り当てるには、()を使用してください。その後

C1(3,:)1x6num5x1ではないので、ディメンションの不一致を受け取ることになります。説明したすべてで

は、正しい割り当てが

C1(3,2:6) = num2cell(num(1:5,1).'); %' 

転置.'は私R2015aは、ディメンションの強制自体を行いインストールとして必要ではないようですが、私はそれが明示的に作るのが好き。

+0

動作しませんでした。私は、num()行列の最初の列の5つの値をC1 {3,2:6}の3番目の行の5つの空白にコピーしています。最初の行と最初の列はタイトルで構成されています。したがって、私はcolumn-index = 2に移入し始めます。 –

+0

@juanmatus新しいコードはどうですか? 'num2cell(num(5,1​​)。 ');'をnum2cell(num(1:5,1))に変更しました。 ); '。 – TroyHaskin

関連する問題