Ich habe eine StrukturMatlab: Wie Struct Felder "in Place" mit Struct Fun aktualisieren?
s.a = [1 2 3];
s.b = [2 3 4 5];
s.c = [9, 6 ,3];
s.d = ... % etc. - you got the gist of it
Jetzt möchte ich auf die in jedem Feld gespeicherten Daten eine Funktion/Betrieb anzuwenden und der Inhalt des Feldes ändern, das heißt ich
s.a = myFun(s.a);
s.b = myFun(s.b);
s.c = myFun(s.c); % etc. ...
anwenden möchten
Wie kann ich es tun, ohne explizit alle Felder wie oben beschrieben zu schreiben? Ich dachte an structfun
- aber ich bin nicht so sicher, wie diese "in Place" Änderung zu erreichen ...
Vielen Dank!
Sehr interessanter Punkt in Bezug auf die Laufzeit von 'cellfun' und 'arrayfun'. Ich bin immer noch mehr geneigt zu 'structfun', weil ich denke, dass es" eleganter "ist als loop. Ich denke auch, dass es zur Lesbarkeit des Codes beiträgt. Danke für Ihren Vorschlag! – Shai
@Shai Fair genug. Ich habe meine Antwort aktualisiert, um eine 'structfun'-Lösung hinzuzufügen. Wenn Sie glauben, die Frage beantwortet zu haben, klicken Sie auf das Häkchen. Ansonsten lass es mich wissen und vielleicht kann ich es verbessern. Prost :-) –