2016-10-03 13 views
0

からのアクセスベクタは私がベクトル形式でFruitbaskets.applesを取得するかどうかはわかりませんMATLAB - 構造

Fruitbasket=struct('apples',{[1] [2] [3] [4]},'bananas',[],'berries',[],'melons',[]) 

と呼ばれる1x4の構造を持っている(例えば、[1 2 3 4])。

Fruitbaskets.applesはすべてans=1;ans=2;ans=3;ans=4です。

答えて

1

編集:構造体の配列が必要です。この値を引くのは非常に簡単な解決策ははっきりループしている:

for ii=1:size(Fruitbasket,2) 
    app(ii)=Fruitbasket(ii).apples; % or getfield(Fruitbasket(ii),'apples'); 
end 
あなたは、アレイとない構造を構造体の配列を作成しているためである

Fruitbasket=struct('apples',{[1] [2] [3] [4]},...) 

4つのフルーツバスケットを作成します。それぞれのフルーツバスケットは単一の番号で作成されます。これを確認するには、Fruitbasket(2).applesを実行します。フィールド​​に配列がある場合は、cell arrayバスとしてvectorと定義しないでください。セルアレイは、{}と定義され、のドーベットが定義されています。以下は、​​のベクトルを持つ単一の構造体を作成します。

Fruitbasket=struct('apples',[1 2 3 4],'bananas',[],'berries',[],'melons',[]) 
+0

実際には私のせいです。私は言及することを忘れて、私は4つのフルーツバスケットを持っています。私はまだベクトルフォーム – Agnel

+0

でFruitbaskets.applesを達成したいと思います。 [1] [2] [3] [4] ...の代わりに[A] [B] [C] [D]だったらどうしたらいいですか? 'charからのセルへの変換はできません'。私はmat2cellを試しましたが、Nopeはありません – Agnel

+0

@Agnel 'A'は何ですか?あなたは文字列として '' A ''を意味しますか? –

関連する問題