|
|
zwei structs zusammenfügen |
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 06.11.2014, 23:57
Titel: zwei structs zusammenfügen
|
 |
Hallo goMatlab Forum,
ich suche nach einer Möglichkeit mit der man 2 structs mit identischen Feldern zusammenfügen kann.
So funktioniert es jedenfalls nicht
Muss man hier tatsächlich die cellarrays für jedes Feld einzeln zusammenfügen oder gibt es doch eine Möglichkeit über die kompl. Struktur. Das mag für wenige Felder kein Problem sein, aber bei mehr als 10 ist es schon etwas umständlich. Oder kennt jemand eine effiziente Methode über die einzelnen Felder?
Danke für eure Hilfe! Gruß DSP
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 00:01
Titel:
|
 |
Hallo,
wie wär's damit?
Grüße,
Harald
|
|
|
DSP |
Themenstarter

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 00:42
Titel:
|
 |
Hallo Harald,
danke für deine schnelle Hilfe. Tatsächlich funktioniert diese Lösung für mein gepostetes Bsp. Allerdings merkte ich jetzt erst, dass es nicht meinem eigentlichen Code entspricht. StructA habe ich so angelegt...
und structB wurde nach dem Einlesen aus einer Textdatei dann mittels
erstellt. Ich hatte angenommen das wäre gleichwertig zum meinem oberen Bsp. Leider funktioniert deine Lösung für mein Problem nicht, da structB kein cell sondern string ist. Ich muss structA dann tatsächlich mittels struct Befehl erstellen.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 01:25
Titel:
|
 |
Hallo,
ein Weg ohne Schleife fällt mir auf Anhieb nicht ein. Über die Felder iterieren sollte aber gehen:
Grüße,
Harald
|
|
|
DSP |
Themenstarter

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 09:32
Titel:
|
 |
Vielen Dank Harald,
aber ich werde meinen Code umbauen und mittels struct dann die struct-arrays statt den Feld-arrays erstellen. Hat für mich den Vorteil, dass dann die Übergabe des structs für jedes n-te Element jedes Felds einfach wird.
Somit muss ich dann auch nicht mehr die structs zusammenfügen, sondern übergebe von der Funktion nur den n-ten struct Teil des struct arrays A oder wenn nötig gleich structB.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 09:48
Titel:
|
 |
Hallo,
alternativ kannst du meinen Vorschlag in eine kleine Funktion packen und bei Bedarf eben diese Funktion aufrufen.
Ich würde mir bei der Frage, wie die Daten organisiert werden sollen, vor allem überlegen, wie (außer hier) noch auf die Daten zugegriffen können werden soll.
Grüße,
Harald
|
|
|
DSP |
Themenstarter

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 10:09
Titel:
|
 |
|
 |
|
Ja, das ist sicherlich richtig.
Auch wenn ich jetzt erstmal einiges umschreiben muss, hat der struct array doch sein Vorteile.
Ich habe in einen m-file mehrere structs, welche jeweils 5 Übersetzungen für jedes Feld enthalten. Wurde zum Bsp. in der GUI als Sprache Deutsch gewählt, gibt die Funktion den gewählten struct samt aller Übersetzungen zurück. Auf das jeweilige Feld mit dt. Übersetzung müsste ich dann immer explizit zugreifen.
Der struct array hat nun den Vorteil, dass die Funktion dann nur noch den struct mit der gewünschten Übersetzung übergibt und ich mir den Zugriff ".field(langTyp)" in den anderen Funktionen sparen kann. Das spart natürlich auch Speicherplatz.
Nun gibt es noch die Funktion einer eigenen Übersetzung, welche aus einem Textfile gelesen wird. Bei meiner alten Methode musste ich die structs aneinanderhängen, daher auch meine Frage hier. Das kann ich mir nun sparen.
Auch wenn ich deine Vorschläge jetzt nicht umsetze, war der Thread dennoch sehr hilfreich. So wurde mir bewusst, dass der struct array hier die besser Lösung ist.
Danke und Gruß, DSP
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 10:37
Titel:
|
 |
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|