Arraystrukturen in Matlab

Stellen wir uns vor, Sie möchten den Umgang mit Strukturen in Matlab erlernen. Ich kann Ihnen versichern, es ist weniger kompliziert, als es scheint. Eine Struktur ist im Grunde eine Sammlung von Daten, die über Namen zugänglich sind. In Matlab wird eine Struktur mit der Funktion "struct" erstellt. Ich werde Ihnen nun Schritt für Schritt zeigen, wie man Strukturen in Matlab effektiv nutzt.

Was genau sind Strukturen? Lassen Sie es mich erklären. Eine Struktur ähnelt einem Array, ist jedoch vielseitiger. Im Unterschied zu einem Array kann eine Struktur verschiedene Datentypen speichern und diese in Feldern organisieren. Jedes Feld in einer Struktur hat einen eindeutigen Namen. Ein Telefonbuch ist ein klassisches Beispiel für eine solche Arraystruktur.

Erstellung einer Arraystruktur

Erstellen Sie eine Struktur mit dem Namen "Telefonbuch".

Das erste Feld der Struktur ist der "Name" der Kontakte im Telefonbuch.

>> telefonbuch.name="John Smith";

Fügen Sie nun das zweite Feld hinzu.

Dieses ist die "Telefonnummer" jedes Kontakts.

>> telefonbuch.telefonnummer=123456789;

Ein Feld kann Zahlen, Texte und sogar Arrays beinhalten.

>> telefonbuch(1).telefonnummer=[123456789, 987654321];

Zum Abschluss fügen Sie das dritte Feld hinzu, um die Adresse der Person zu speichern.

>> telefonbuch.adresse="New York";

Alternativ können Sie eine Struktur auch erstellen, indem Sie alle Felder in einem einzigen Befehl mit der struct()-Funktion angeben.

>> telefonbuch = struct('name','John Smith','telefonnummer',123456789, 'adresse', 'New York')

Sie haben nun eine Struktur namens "Telefonbuch" erstellt, die einen Datensatz mit drei Feldern (Name, Telefonnummer, Adresse) umfasst.

Hinweis: Die Felder der Struktur enthalten unterschiedliche Datentypen. Zwei Felder speichern alphanumerische Werte (Name und Adresse), während ein Feld numerische Werte (Telefonnummer) aufnimmt.

Sie können auch eine neue Struktur erstellen, indem Sie mehrere Datensätze hinzufügen.

Schreiben Sie die Feldnamen nur einmal und setzen Sie die Daten jedes Feldes in geschweifte Klammern.

C = struct('fach',{'Mathematik', 'Latein', 'Naturwissenschaften'},'note',{27,30,18});

Betrachtung der Felder einer Struktur

Um die Felder einer Struktur anzuzeigen, verwenden Sie die Funktion fieldnames().

>> fieldnames(telefonbuch)
ans =
{
[1,1] = name
[2,1] = telefonnummer
[3,1] = adresse
}

Diese Funktion listet die Felder der Struktur auf.

In diesem Fall besteht die Struktur aus drei Feldern: Name, Telefonnummer und Adresse.

Alle Datensätze in der Struktur weisen dieselbe Anzahl an Feldern (3) und dieselben Feldnamen (Name, Telefonnummer und Adresse) auf.

Hinzufügen weiterer Daten zur Struktur

Nachdem Sie die Feldstruktur erstellt haben, können Sie die Datensätze, also die enthaltenen Informationen, ergänzen.

Um beispielsweise einen zweiten Datensatz hinzuzufügen, geben Sie den Namen der Struktur mit dem Index 2 in Klammern an und setzen das Feld auf der linken Seite.

Rechts geben Sie den entsprechenden Wert ein.

>> telefonbuch(2).name="Emily Johnson";
>> telefonbuch(2).telefonnummer="987654321";

Nun enthält die Struktur zwei Datensätze.

Beim Einfügen eines neuen Datensatzes können einige Felder auch leer bleiben.

Beispielsweise fehlt im zweiten Datensatz die Adresse.

>> telefonbuch(2)
ans =

Skalarstruktur mit den Feldern:

name = Emily Johnson
telefonnummer = 987654321
adresse = [](0x0)

Alternativ können Sie einen neuen Datensatz in der Struktur mit der struct()-Funktion einfügen.

>> telefonbuch(3) = struct('name','Michael Davis','telefonnummer',123456789, 'adresse', 'Los Angeles')

Auslesen von Daten aus einer Struktur

Um auf Daten in einer Struktur zuzugreifen, schreiben Sie den Namen der Struktur mit dem entsprechenden Index in Klammern. Fügen Sie anschließend den Namen des gewünschten Feldes hinzu.

Um zum Beispiel die Telefonnummer im ersten Datensatz zu lesen, geben Sie telefonbuch(1).telefonnummer ein.

>> telefonbuch(1).telefonnummer
ans = 123456789

Geben Sie telefonbuch(2).telefonnummer ein, um die Telefonnummer im zweiten Datensatz zu lesen.

>> telefonbuch(2).telefonnummer
ans = 987654321

Geben Sie telefonbuch.telefonnummer ein, um alle Daten im Feld "telefonnummer" der Struktur "telefonbuch" anzuzeigen.

>> telefonbuch.telefonnummer
ans = 123456789
ans = 987654321

Geben Sie telefonbuch(1) ein, um alle Daten in den Feldern des ersten Datensatzes der Struktur zu erhalten.

>> telefonbuch(1)
ans =

Skalarstruktur mit den Feldern:

name = John Smith
telefon = 123456789 987654321
adresse = New York

Entfernen eines Feldes aus der Struktur

Um ein Feld aus der Struktur zu entfernen, nutzen Sie die Funktion rmfield().

Fügen Sie zum Beispiel ein neues Feld "Test" zur Struktur hinzu.

>> telefonbuch(2).test="ABC";

Die Struktur umfasst nun vier Felder (Name, Telefonnummer, Adresse, Test).

>> fieldnames(telefonbuch)
ans =
{
[1,1] = name
[2,1] = telefonnummer
[3,1] = adresse
[4,1] = test
}

Um das Feld "Test" zu entfernen, geben Sie rmfield(telefonbuch, 'test') ein.

>> telefonbuch=rmfield(telefonbuch, 'test');

Das Feld "Test" wurde erfolgreich aus der Struktur entfernt.

>> fieldnames(telefonbuch)
ans =
{
[1,1] = name
[2,1] = telefonnummer
[3,1] = adresse
}

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Arraystrukturen in Matlab