Hallo, ich habe in Matlab eine Datenstruktur der Form raum.kueche = array raum.wohnzimmer = array raum.schlafzimmer = array wobei array ein zweidimensionales Array ist, in dem die eigentlichen Daten stehen. Die Struktur hab ich so gewählt, weil ich es gut lesbar finde, ohne ständig nachzuschauen, welcher Raum jetzt wieder welche Nummer hat und zudem die Arrays unterschiedliche größen haben können und damit Änderungen einfach sind. Jetzt stehe ich aber vor dem Problem, das ich gerne mit einer Funktion bestimme Rechnungen auf alle Arrays ausführen möchte, aber mit dem Zugriff darauf nicht klar komme (oder es vielleicht garnicht geht, so wie ich mir es vorstelle. Ich würde meiner Funktion gerne einfach die Variable raum übergeben und in dieser dann per Schleife die einzelnen Unterstrukturen abarbeiten. Leider habe ich bisher keine Möglichkeit gefunden auf die unterstrukturen zuzugereifen, ohne dies hart zu codieren. Zum veranschauliche: ich würde gerne so etwas haben wie raum.(1) statt raum.kueche um auf das Array dahinter zuzugreifen. Ich hoffe, es kann mir jemand dabei weiter helfen. Gruß Kai
da gibt es diverse Moeglichkeiten. Nehmen wir an, die Funktion f soll auf alle Felder angewandt werden: eleganteste Loesung mit structfun: structfun(@f,raum); auch moeglich mit dynamischen Feldnamen: fn=fieldnames(raum); for i=1:numel(fn) f( raum.(fn{i}) ); end
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.