WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

structs zusammenfügen

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.09.2018, 12:16     Titel: structs zusammenfügen
  Antworten mit Zitat      
Hallo,

ich habe mich zwar schon durch das Forum geklickt, aber noch keine richtige Antwort zu meinem Problem gefunden. Es ist eigentlich ganz einfach:
a = 1x1 struct, b = 1x1 struct. a und b enthalten auf erster Ebene andere Fieldnames, aber auf den unteren Ebenen (und da kommen einige) exakt die identischen auch mit gleicher Anzahl.
Als Beispiel ist die erste eben von a: Montag, Dienstag, Mittwoch und von b: Donnerstag, Freitag, Samstag, Sonntag. Nun möchte ich ein Struct c haben mit der ersten Ebene: Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag.
Also so, dass einfach die beiden structs addiert werden....
Wie ist das möglich..?

Viele Grüße!


J0nas
Forum-Century

Forum-Century


Beiträge: 208
Anmeldedatum: 10.09.15
Wohnort: ---
Version: ab 2016a
     Beitrag Verfasst am: 03.09.2018, 12:48     Titel:
  Antworten mit Zitat      
Hallo,

schau dir mal https://de.mathworks.com/help/matla.....ncatenate-structures.html an.

Grüße
Jonas
_________________

1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.09.2018, 13:16     Titel:
  Antworten mit Zitat      
danke,das hatte ich schon angeschaut. Leider bringt dies nicht das gewünschte Ergebnis, sondern die Fehlermeldung:
Error using horzcat
Names of fields in structure arrays being concatenated do not match. Concatenation of structure arrays requires
that these arrays have the same set of fields.
 
J0nas
Forum-Century

Forum-Century


Beiträge: 208
Anmeldedatum: 10.09.15
Wohnort: ---
Version: ab 2016a
     Beitrag Verfasst am: 03.09.2018, 13:26     Titel:
  Antworten mit Zitat      
Ah, sorry nicht richtig gelesen Very Happy

Hast du mal im File Exchange geschaut?
Da hab' ich auf die schnelle das hier gefunden:
https://de.mathworks.com/matlabcent.....leexchange/7842-catstruct

Eventuell hilft dir auch das hier weiter:
Code:

names = [fieldnames(struct);fieldnames(struct2)];
struct3 = cell2struct([struct2cell(struct); struct2cell(struct2)], names, 1);
 


Grüße
Jonas
_________________

1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.09.2018, 13:28     Titel:
  Antworten mit Zitat      
Hallo,

einen einfachen Weg kenne ich nicht. Im Zweifelsfall kannst du aber die Felder vom 2. Struct in das erste kopieren.

Code:
flds = fieldnames(b);
for k = 1:numel(flds)
a.(flds{k}) = b.(flds{k});
end


Wenn du das öfter brauchst, das am besten in eine Funktion packen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.