[Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen] | |
Mathematik-Online-Lexikon: | |
Strukturen |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | Übersicht |
>> S=struct('Name','Belinda Beispiel','Matrikelnr',1234567,... 'Noten',[1.3 1.0 1.7]) S = Name: 'Belinda Beispiel' Matrikelnr: 1234567 Noten: [1.3000 1 1.7000] >> S(3).Name='Emil Exempel'; S(3).Matrikelnr=7654321 S = 1x3 struct array with fields: Name Matrikelnr Noten
Indizierung von Elementen und Feldern:
>> S(3) ans = Name: 'Emil Exempel' Matrikelnr: 7654321 Noten: [] >> S(2) ans = Name: [] Matrikelnr: [] Noten: [] >> S(2).Matrikelnr=1223334; >> S([1 3]) ans = 1x2 struct array with fields: Name Matrikelnr Noten >> S([1 3]).Name ans = Belinda Beispiel ans = Emil ExempelMan beachte, dass bei der letzten Indizierung zwei Rückgabewerte entstehen. Diese werden sukzessive der Standardvariablen ans zugewiesen, weshalb diese nur noch den letzten Wert
'Emil Exempel'
enthält.
Zuweisung mehrerer Rückgabewerte:
>> [S.Matrikelnr] ans = 1234567 1223334 7654321 >> {S.Name} ans = 'Belinda Beispiel' [] 'Emil Exempel' >> [N1,N2,N3]=S.Name N1 = Belinda Beispiel N2 = [] N3 = Emil ExempelSofern die Inhalte eines Feldes Matrizen gleicher Größe sind, können diese wie in der ersten Befehlszeile gezeigt, durch Klammerung mit
[ ]
zu
einer Matrix zusammengefasst werden. Bei Feldinhalten unterschiedlichen
Datentyps können
mehrere Rückgabewerte stets durch Klammerung mit { }
zu einer
Cell zusammengefasst werden.
Ebenso möglich sind Zuweisungen auf mehrere Variablennamen. Diese sind auf der
linken Seite einer Anweisung durch [ ]
geklammert anzugeben. Die Zahl
der Variablen muss dabei mit der Anzahl der Rückgabewerte der rechten
Seite übereinstimmen.
Sortieren und Löschen von Feldern:
>> S(2).Fach='Mathematik'; >> S(1) ans = Name: 'Belinda Beispiel' Matrikelnr: 1234567 Noten: [1.3000 1 1.7000] Fach: [] >> orderfields(S) ans = 1x3 struct array with fields: Fach Matrikelnr Name Noten >> rmfield(S,'Name') ans = 1x3 struct array with fields: Matrikelnr Noten Fach >> S S = 1x3 struct array with fields: Name Matrikelnr Noten FachDer Befehl orderfield sortiert die Felder einer Struktur in alphabetischer Reihenfolge. Mit rmfiled können Felder von Strukturen gelöscht werden. In beiden Fällen ist darauf zu achten, dass die Funktionen nicht direkt auf der Struktur operieren, sondern nur auf einer Kopie. Daher ist ggf. das Resultat der Strukturvariablen selbst wieder zuzuweisen (z.B.
S=rmfield(S,'Name')
).
automatisch erstellt am 12. 1. 2007 |