Ich versuche, Zeilen am Ende der Tabelle hinzuzufügen. Zum Beispiel:Einfügen von Zeilen an einer Tabelle in MATLAB
LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
Tab=table;
s=struct;
for i=1:5
s.name=LastName{i};
s.age=Age(i);
s.heigt=Height(i);
s.weight=Weight(i);
s.BP=BloodPressure(i);
temp=struct2table(s);
Tab(end+1,:)=temp;
end
Die Tabelle leer deklariert wird, fügt es die erste Zeile, aber in der zweiten Iteration der for-Schleife gibt folgende Fehlermeldung:
Subscripted assignment dimension mismatch for table variable 'name'.
Ich verstehe, dass dies geschieht, weil die Der Variablenname hat in der zweiten Iteration mehr Zeichen. Gibt es eine Möglichkeit, dies zu implementieren?
Dies ist ein Beispielcode, den ich generiert habe, um mein Problem zu erklären. In meinem tatsächlichen Code ist das Problem ähnlich, aber eine Strukturtypvariable wird von einer anderen Funktion zurückgegeben, die ich nicht ändern kann.
Du bringst mich um mit all diesen loops .... 'struct ('Name', Nachname, 'Alter', Alter, 'Höhe', Höhe, 'Gewicht', Gewicht, 'BP', Blutdruck)' – Suever
Ich war mir nicht sicher, was OP 'weiß' über die Daten, aber ich war gerade dabei, die Antwort zu bearbeiten, aber Sie können Ihren Vorschlag nicht übernehmen, wie es ist, es macht die Struktur verschachtelt mit allen Daten – EBH
Guter Anruf. Vielleicht möchtest du auch 'BloodPressure (i, :) ', um beide Werte zu packen. – Suever