|
|
Variablen aus dem Workspace suchen und speichern |
|
Lala888 |

Forum-Fortgeschrittener
|
 |
Beiträge: 67
|
 |
|
 |
Anmeldedatum: 05.09.16
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.10.2016, 08:17
Titel: Variablen aus dem Workspace suchen und speichern
|
 |
Guten Morgen ihr Lieben,
ich steh schon wieder vor einem Problem und weiss nicht weiter.
Ich habe Messdaten in Matlab eingelesen und würde mir jetzt gerne bestimmte davon raussuchen, mir die Periodendauer anschauen, die kleinste auswählen und abspeichern.
Als erstes würde ich gerne nach dem Variablennamen suchen.
Es gibt z.B.
Mdk_ist_2
Mdk_ist_4
Mdk_ist_5
Dann würde ich mir gerne den dazugehörigen Zeitvektor anschauen und die Differenz nehmen um die Periodendauer herauszufinden und den mit der kleinsten abspeichern.
Das möchste ich mir mehreren Messdaten machen.
Habt Ihr Ideen wie ich das am besten angehen soll?
Eure Lala
|
|
|
|
|
Lala888 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 67
|
 |
|
 |
Anmeldedatum: 05.09.16
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.10.2016, 11:23
Titel:
|
 |
Mein Ansatz ist es erstmal alle Variablen aus dem Workspace zu listen und dann über strfind und find nach dem Namen zu suchen:
Nur leider weiss ich nicht wie ich das anstellen kann.
Muss ich die gefundnen Variablen erstmal irgendwo abspeichern?
[EDITED, Jan: Bitte Code-Umgebung verwenden - Danke!]
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.10.2016, 12:21
Titel: Re: Variablen aus dem Workspace suchen und speichern
|
 |
|
 |
|
Hallo Lala888,
Im Namen "Mdk_ist_2" ist ein Index versteckt. Das ist grundsätzlich eine sehr schlechte Idee. Denn wie Du merkst ist der Zugriff auf solche versteckten Indizes total mühsam ubnd fehleranfällig. Das Rumfrickeln mit
who
und
eval
führt immer dazu, dass man später noch mehr Probleme bekommt.
Sowie man einen Index als Index verwendet, wir das Suchen des Minimums trivial. Wenn die Daten leider schon mit den Namen wie "Mdk_ist_2" vorliegen, wandelt man sie so schnell wie möglich in ein richtiges Array um, z.B.:
Danach kann man ganz einfach die
min
Funktion verwenden.
In Zukunft vermeide versteckte Indizes unbedingt. Bei der Verwendung von Arrays werden die Programme deutlich übersichtlicher, besser debug- und wartbar, schneller und laufen problöemlos auch über Milliarden von Messpunkten.
Dein STRFIND-Ansatz strauchelt dagegen schon bei mehr als 10 Daten, wenn er "Mdk_ist_1" in "Mdk_ist_10" wiederfindet.
Du findest sehr viele Threads zu diesem Thema im Forum, denn Indizes im Namen sind der meist verbreitetste Anfängerfehler. Suche nach "eval" und "assignin".
Gruß, Jan
|
|
|
Lala888 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 67
|
 |
|
 |
Anmeldedatum: 05.09.16
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.10.2016, 14:21
Titel:
|
 |
Das werd ich mir aufjedenfall anschauen.
Danke
|
|
|
|
|
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.
|
|