|
|
struct autmatisch auslesen |
|
Absolut_Beginner |

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.08.2018, 13:56
Titel: struct autmatisch auslesen
|
 |
Hey,
ich habe einen 1x1 struct = a. In a enhalten sind wieder drei mal 1x1 structs, dann je wieder 5 1x1 structs und so weiter. Insgesamt besteht der ursprüngliche struct dann aus acht Unterebenen. Meine Frage ist nun, wie ich bestimmte Teile des Structs automatisch auslesen kann.
Also bsp. hätte ich gerne a.b.c.d(davon dann gerne alle structs).e.f.(hier auch wieder alle).g.
Ist das verständlich? Einzeln anweisen kann ich dies schon, aber ist sehr mühsam...
Wie ist es denn möglich alle structs der ebene d und f beispielsweise zu berücksichtigen. Am schluss hätte ich gerne eine Matrix, in der die ganzen Werte drin stehen.
Ist das automatisch überhaupt möglich?
Liebe Grüße
|
|
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 03.08.2018, 06:29
Titel:
|
 |
|
 |
|
Hallo Absolut_Beginner,
du willst also am Anfang eine Eingabe machen welche Ebenen du gerne herausziehen möchtest (z.B. "4" und "6"), und alle Einträge der Ebenen (4 -> also "d" und "6" -> also "f") soll er dir dann in eine Matrix schreiben? Sortiert nach:
- Höchste, gewählte Ebene zuerst, dann die nächst niedrigere, usw.?
- Erster Eintrag der höchsten Ebene zu erst, dann deren gewählte Unterebenen, dann nächster Eintrag der höchsten Ebene mit deren Unterebenen, usw.??
- Oder pro Spalte immer die Einträge einer Ebene?
Eigentlich kann man (fast) alles automatisieren, was man auch manuell hinbekommt Wenn man nicht weiß wie sich das am besten automatisieren lässt, einfach mal mit Schleifen anfangen. Am Schluss kann man die dann eventuell noch ersetzen.
Falls du bis heute Abend nicht weiter kommst kann ich da mal bisschen was zusammen hacken. Aber es hilft einem natürlich immer mehr, wenn man selbst auf eine Lösung kommt
Grüße
Jonas
PS: Eventuell kannst du (falls erlaubt) ja mal so ein Struct hier hochladen. Dann muss ich mir das nicht erst selbst erstellen
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.08.2018, 12:26
Titel: Re: struct autmatisch auslesen
|
 |
Hallo Absolut_Beginner,
Ein tief-verschachtelter Struct ist zum automatischen Auslesen eine wirklich sehr schlechte Wahl. Je komplizierter die Datenstruktur, desto komplizierte die Methode um auf die Daten zuzugreifen. Wenn dieser Zugriff arg zu komplex wird, ist dies ein sicheres Zeichen dafür, dass man sich über eine sinnvollere Representation Gedanken machen sollte.
Mit einem mehrdimensionalen numerischen Array, wäre die Lösug ein Einzeiler.
Aber möglich ist es natürlich.
Zitat: |
Also bsp. hätte ich gerne a.b.c.d(davon dann gerne alle structs).e.f.(hier auch wieder alle).g. Ist das verständlich? |
Ungefähr, aber noch nicht eindeutig. Mit welchen Inputs definierst Du, welche Ebenen Du bekommen möchtest? Kennst Du die Namen der Felder oder nur die Tiefe der Verschachtelung?
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 11:35
Titel:
|
 |
vielen Dank für die Antwort.
Also ich habe leider nur das struct, und das habe ich selbst nicht erstellt...aus einem struct ein mehrdimensionalen numerischen Array zu machen funktioniert dann wohl nicht, oder?
Die Namen der Felder kenne ich. Mit fieldnames greife ich auf die einzelnen Felder zu. Das funktioniert auch ganz gut. Allerdings eben nicht automatisch...Habe es auch schon mittles einer GUI versucht, dass es dadurch ein wenig übersichtlicher wird. Aber selbst da habe ich dann das Problem, wenn ich von eine bestimmte Eben alle Daten haben möchte, dann funktioniert dies nicht.
LG
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 18:19
Titel:
|
 |
Hallo Anonymous,
Du hast noch nicht erklärt, was Deine Inputs sind. Um einen Vorschlag probieren zu können, wäre es hilfreich, wenn Du so einen Struct hochladen könntest. Ich würde gerne einen Vorschlag posten, aber nur ungerne Zeit damit vertrödeln etwas falsches über Deine Daten zu raten.
Es geht wahrscheinlich direkt mit dem
subsref
Befehl.
Gruß, Jan
|
|
|
|
|
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.
|
|