|
metacircle |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 14.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.09.2011, 10:25
Titel: Variablennamen suchen
|
|
Hallo,
ich habe folgendes Problem. Ich lese mit Matlab Messdateien ein. Die Messdateien werden mit der Messsoftware als Matlab Files exportiert.
Das Problem ist, dass je nach Messung die Signale unterschiedlich benannt werden von dem Export Tools.
Ich habe z.B. in Messung 1:
Signal_A_t1
Signal_B_t10
In Messung 2 könnte es so aussehen:
Signal_A_t5
Signal_B_t11
Gibt es eine Möglichkeit die Daten so zu verarbeiten, dass ich in meinem Skript nach der Variablen die im Namen "Signal_A" beinhaltet suchen kann und immer die richtige Variable finde?
|
|
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 14.09.2011, 10:47
Titel:
|
|
Hallo metacircle,
schau dir mal den Befehel
an. Dieser gibt dir eine Liste der Variablen im Workspace. Dann kannst du mit einem stringvergleich nach deinen Variablen suchen.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 14.09.2011, 12:04
Titel: Re: Variablennamen suchen
|
|
Hallo metacircle,
Die Signale unterschiedlich zu benennen ist ausgesprochen hinderlich, wie Du ja bereits bemerkt hast.
Liest Du die Daten aus einem MAT File? Dann könntest Du dies versuchen:
Gruß, Jan
|
|
|
metacircle |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 14.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.09.2011, 12:33
Titel:
|
|
Hallo ihr beiden,
bin heute erst dazu gekommen die Dinge umzusetzen, gab noch etliche andere Baustellen.
Ich bin schon auf dem richtigen Weg damit, leider funktioniert die vorgeschlagene Lösung von Jan S so nicht, das Feld
liefert
klar, das Feld gibt es so auch nicht.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.09.2011, 12:36
Titel:
|
|
Hallo,
probiers mal so:
Grüße,
Harald
|
|
|
metacircle |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 14.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.09.2011, 12:53
Titel:
|
|
Hi Harald,
gerade wollte ich posten das ich es so hinbekommen habe
Danke
|
|
|
TBidi |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 26.09.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.09.2016, 15:08
Titel: Suchen von Variablen per "Teil" des Variablennamen
|
|
Hi zusammen,
ich stehe vor dem selben Problem. Da mein Messprogramm ebenso die Variablennamen bestimmter Signale ja nach Messaufbau (Fahrzeug) teilweise anders benennt, muss ich nach den benötigten Variablen im Workspace bzw. der Struktur suchen.
Bsp.:
Messung 1:
a_x_lenkrad_l_t1
a_y_lenkrad_l_t1
...
Messung 2:
CMD00_a_x_lenkrad_l_t0
CMD00_a_y_lenkrad_l_t0
...
Der bereits vorgeschlagene Lösungsweg funktioniert bei mir leider nicht...
Hat jemand eine Lösung dazu? Vielen Dank!
LG
TBidi
|
|
|
TBidi |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 26.09.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.09.2016, 15:13
Titel:
|
|
Hi nochmal,
ein weiterer Lösungsansatz ist, dass ich mir die Namen der gesuchten Variablen per "who" suche. Dann habe ich eine neue Variable mit dem richtigen Variblenname der gesuchten Var als Value der neuen Var. Wie kann ich nun mit dieser Info weiterarbeiten? Ich bin sehr dankbar über Lösungen und Ideen!
Bsp::
Vielen Dank und viele Grüße
TBidi
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 26.09.2016, 17:21
Titel: Re: Suchen von Variablen per "Teil" des Variablenn
|
|
Hallo TBidi,
Wieso funktioniert der Vorschlag bei Dir nicht?
Wie kommen denn die Variablen in Deinen Workspace? Per
load
? Dann müsste man einfach nur den Output von
load
in einer Variablen speichern und schon wäre wieder alles sauber und effizient.
Wenn man seinen Workspace dynamisch mit Variablen flutet, kann es vorkommen, dass eine Variable genau so heißt, wie das Script, das man aufrufen möchte. Und ab da geht gar nichts mehr.
Du benötigst
strcmp
, nicht
strncmp
, denn letzteres benötigt als 3. Input die Anzahl der zu vergleichenden Buchstaben.
Die Fehlermeldung ist da hilfreich, wenn man sie liest ;-)
Gruß, Jan
|
|
|
TBidi |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 26.09.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.09.2016, 18:14
Titel:
|
|
Hi Jan,
vielen Dank für deine rasche Antwort und entschuldige, ich habe den falschen Code eingestellt
Ich lade die Datei per uigetfile() um die Möglichkeit unter wechselnden Namen angelegte Messungen auswerten zu können. (unübersichtlicher Nutzerkreis des Skripts in Zukunft). Es müsste doch möglich sein, die gesuchten Variblen per gleichbleibenden "Namensstamm" (*a_x_lenkrad_l_*) zu finden und zu verwenden?!
Bsp. für die richtige Fehlermeldung:
Das Struct bilde ich über folgende Funktion:
Grüße
TBidi
PS: Das selbe Problem tritt auch auf wenn ich "clearvars -except Data;" weglasse...
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 28.09.2016, 17:13
Titel:
|
|
Hallo TBidi,
Zitat: |
Es müsste doch möglich sein, die gesuchten Variblen per gleichbleibenden "Namensstamm" (*a_x_lenkrad_l_*) zu finden und zu verwenden?! |
Na klar, möglich ist das schon. Aber viel zu umständlich und fehleranfällig. Es ist eine Standard-Quelle für Bugs, und deshlab sollte man das unbedingt lassen.
Das Problem fängt bereits hier an:
Das schreibt bereits unkontrolliert Variablen in den Workspace. Nebenbei fehlt auch noch der Pfad-Name, so dass das
strcat
nutzlos ist.
Besser:
Jetzt sind alle Input-Daten sicher und eindeutig im Struct "Data" gespeichert, ohne dass man dreckig tückische Methoden wie in W2STRUCT verwenden muss.
Hast Du Dir die Fehlermeldung durchgelesen?
Zitat: |
??? Undefined function or variable 'A_Index'. |
Du hast "A_index" mit kleinem "i" definiert.
Nebenbei geht der Zugriff auf die Struct-Felder doch auch direkt:
Wozu brauchst Du den Umweg über das
strcmp
?
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.
|
|