2016-03-25 49 views
0

異なるサイズの2つのセルを同じstructにまとめたいと思います。例:問題は、細胞の大きさで、エラーメッセージによると同じ構造体に2つの異なるサイズのセルを結合する

error: struct: dimensions of parameter 2 do not match those of parameter 4

:私はこれをしようとするたびに

a = {'one', 'two', 'three'}; 
b = {'four', 'five', 'six', 'seven'}; 

struct("setA", a, "setB", b); 

、MATLABは、次のエラーがスローされます。私は、細胞から一つの要素を削除する場合はさらに、bプロセスがエラーなしで終了:

a = {'one', 'two', 'three'}; 
b = {'four', 'five', 'six'}; 

struct("setA", a, "setB", b); 

任意の提案を?

答えて

1

は、あなたはそれの分野でスカラーstruct含む細胞を作成するために、別のセルで細胞をラップする必要があります。デフォルトでは

struct('setA', {a}, 'setB', {b}) 

% setA: {'one' 'two' 'three'} 
% setB: {'four' 'five' 'six' 'seven'} 

structは、セルが、各セルの要素が異なるstructに属します多要素structをしたいということを意味することを前提としています。これらのセルの寸法を使用して、結果として得られるstructのサイズを決定します。あなたのケースでは、2つのセル配列(ab)は異なるサイズなので混乱します。

各セルを別のセルの中にラップすることにより、MATLABは期待通りにセル配列を含むスカラー構造体を作成します。

関連する問題