2017-07-21 3 views
1

ich eine Struktur haben, sagen wir, SWie verkette ich Zelleneinträge in einer Struktur?

S = 1XM Struktur

S hat zwei Felder, S.Car und S.Bike.

S (i) .Car = NX1 Zellstruktur, wobei ich einen beliebigen Wert haben kann.

Wie verkette ich alle M Einträge in ein riesiges Zellenfeld? Das heißt, ich bin auf der Suche nach etwas ähnlich wie diese:

Ans = [S(:).Car] 

Außer hier, es funktioniert nicht, weil es den folgenden Fehler führt:

Error using horzcat Dimensions of matrices being concatenated are not consistent.

Dies macht Sinn, weil es eine horizontale versucht Verkettung der Einträge, wenn sie eindeutig unterschiedliche Zeilengrößen haben. Allerdings bedeutet dies nicht funktioniert entweder:

Ans = [S(:).Car'] 

Error using ' Too many input arguments.

Wie mache ich das ohne spezielle Funktion aufrufen?

Antwort

0

Zuerst von der Struktur in die Zelle konvertieren und dann die Zelle auspacken.

s(1).car = {1,'a'}; 
s(2).car = {'b',{'c'},3}; 

a = {s(:).car}; 
b = [a{:}].'