|
|
|
String als Variable nutzen |
|
| Neulingg |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2011, 11:20
Titel: String als Variable nutzen
|
 |
Hallo,
ich bin auf der Suche nach einer Lösung um automatisch einen Zeitvektor zu einer Datei zu erstellen. Zunächst mal mein Ansatz:
Dadurch werden meine zuvor gespeicherten Variablen wieder eingelesen. Allerdings weiß ich ja vorher nicht wie meine Variable heisst und kann dementsprechend auch den Zeitvektor keinen Variablennamen zuordnen.
Der Name ist im String Dateiname vorhanden allerdings mit der Endung .mat und somit auch nicht nutzbar für mich. Kennt jemand dafür eine Lösung? Dürfte ja nichts unbekanntes sein!
Mit freundlichen Grüßen
|
|
|
|
|
|
| Neulingg |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2011, 11:55
Titel:
|
 |
Hab es selber noch herausgefunden.
so funktioniert es!
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.12.2011, 12:32
Titel:
|
 |
Hallo Neulingg,
EVAL ist und bleibt tückisch. Falls jemand den Namen "system('format C:').mat" verwendet, wird Dir Dein Programm ganz schön um die Ohren fliegen.
Nein, wird es natürlich nicht. Erstens sind Doppelpunkte im File-Namen nicht erlaubt unter Windows, zweitens kann man als Nicht-Admin nicht ohne weiteres die System-Platte löschen.
Trotzdem rate ich dringend davon ab.
Gruß, Jan
|
|
|
|
| Neulingg |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2011, 12:47
Titel:
|
 |
|
Alles klar kommt aufs selbe hinaus aber wenn es da ohne mögliche Komplikationen läuft, vielen Dank!
|
|
|
|
| Neulingg |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2011, 13:00
Titel:
|
 |
|
Ah jetzt bemerke ich gerade, dass dadurch aber mein Dateiname verschwindet. Den wollte ich ja variabel halten, damit ich mehrere gleichzeitig einlesen könnte! Also doch wieder eval!
|
|
|
|
| steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 14.12.2011, 14:34
Titel:
|
 |
Moin,
wie Jan S schon sagte: EVAL ist EVIL!!!
Schaue dir mal die Doku zu STRUCT, GETFIELD, FILEPARTS an, mit diesen Funktionen lässt sich dein Code wunderbar vereinfachen und robuster gegen Fehler machen.
Zusätzlich schaue dir mal diesen Eintrag in der Hilfe an: Generate Field Names from Variables
Bei Fragen zur Umsetzung dieser Hilfestellungen kannst du gerne deinen Code posten und wir helfen weiter
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
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.12.2011, 16:08
Titel:
|
 |
Hallo Neulingg,
Nun, wenn es mit EVAL funktioniert, funktioniert es natürlich.
Ich habe in verschiedenen Matlab Foren bestimmt über tausend verzweifelte User gesehen, die auch harmlos mit einem kleinen Programm angefangen haben, bei dem es mit EVAL noch funktionierte. Dann wuchs das Programm und als es die 1000 Zeilen-Größe überschritt und ein paar "kleine" Erweiterungen nötig waren, ging plötzlich nichts mehr. Das Programm benötigt entweder Stunden statt Sekunden, das Debuggen raubt den letzten Nerv und statt einer weiteren Pflege löscgte man das Programm am besten vollständig.
EVAL zu vermeiden ist wie Zähneputzen. Es tut nicht gleich weh, wenn man das mal macht. Aber irgendwann hilft nur noch Zähne ziehen und ein Gebiss.
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.
|
|