|
|
Bestimmt Werte aus struct with fields auswählen |
|
Alexfromgalax |
Forum-Anfänger
|
|
Beiträge: 48
|
|
|
|
Anmeldedatum: 28.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.06.2019, 15:24
Titel: Bestimmt Werte aus struct with fields auswählen
|
|
|
|
|
Hallo Leute,
ich habe ein Poblem, bei dem ich leider alleine nicht weiter komme.
Mein Programm lässt den user über eine gui eine File auswählen und soll diese später untersuchen.
Die eingelesene Datei ist ein struct with fields.
und sieht folgendermaßen aus
'struct with fields '
Rxx1Lxxx1_time: [9331×1 single]
Rxx1L0xx1_distance: [9331×1 single]
Rxx1L0xx1_Temperature: [9331×1 single]
Rxx1L0xx1_Pmanifold: [9331×1 single]
R0xx1Lxxx1_Pintake: [9331×1 single]
Rxx1L0xx1_Tmanifold: [9331×1 single]
und so weiter .........
Der vordere Teil der Bezeichnung also Rxx1Lxxx1 variiert je nach Datei. Die Endungen time, distance etc bleiben immer gleich.
Mein Programm soll aus der Datei die Daten von distance, Pmfl und Pitk raussuchen und weiter verarbeiten. Das habe ich nun versucht folgendermaßen zu lösen:
Das Problem ist, dass manche Kanäle ähnlich benannt wurden. Zum Beispiel gibt es Team_Pmanifold aber auch einfach Pmanifold. Ich benötige aber nur das Pmanifold.
Wie kann ich jetzt alle Kanäle mit dem begriff "Team" im Namen von der weiterverarbeitung ausschließen?
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 07.06.2019, 16:29
Titel: Re: Bestimmt Werte aus struct with fields auswählen
|
|
|
|
|
Hallo Alexfromgalax,
Du siehst, dass die Programmierung viel einfacher wäre, wenn das "Rxx1Lxxx1_" nicht stören würde. Hier werden Messbedingungen (oder was auch immer) in den Fieldnames des Structs versteckt und behindern so die Verwendung. Viel praktischer wäre:
'struct with fields '
time: [9331×1 single]
timeCondition = 'Rxx1Lxxx1';
distance: [9331×1 single]
distanceCondition = 'Rxx1L0xx1';
usw. Dann wäre die Aufgabe trivial.
Das Vermeiden ungeschickter Variablen-Strukturen ist wichtig beim Programmieren. Denn wenn man sich mit einer ungeschickten Wahl die Arbeit unnötig schwer macht, vergeudet man viel Zeit.
"Pmfl und Pitk" tauchen gar nicht auf, aber du meinst wahrscheinlich "Pmanifold" und "Pintake".
Variablen direkt per
load
in den WorkSpace zu laden, ist ein weiteres ernstes Problem. Dieses "dynamische Erzeugen" von Variablen bremst Matlab massiv aus, weil nun nicht im im Vorhinein klar ist, welche Variablen woher stammen. Das Debuggen wird auch entsprechend schwieriger.
Du verwendest stattdessen einen Output für den load() Befehl. Dann kannst du aber nicht mit
who
im Workspace suchen, sondern kannst dich auf den Inhalt von "Name" beschränken:
Zitat: |
Wie kann ich jetzt alle Kanäle mit dem begriff "Team" im Namen von der weiterverarbeitung ausschließen? |
Schwer zu sagen. Was sind denn die "Kanäle"? Was bedeutet "ausschließen"? Du brauchst sie ja einfach nicht auszuwählen. Du könntest die entsprechenden Namen auch einfach aus der List entfernen:
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 - 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.
|
|