|
|
|
Variablen aus String erkennen |
|
| nano |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 12.10.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 13:05
Titel: Variablen aus String erkennen
|
 |
Hallo zusammen,
stehe gerade vor folgendem Problem:
Matlab liest aus einem vorgegebenen Ordner alle Dateinamen aus und läd sie auch in den Workspace. Da die Dateinamen recht unhandlich sind nennt Matlab sie auch gleich um. Dies funktioniert alles soweit. Allerdings soll nun die aktuelle Datei (die gerade umbenannt wird) auch gleich z.B. interpoliert wird (bzw. eine Spalte in der Datei).
Der Dateiname der aktuellen Datei ist ein charakter array und heißt z.B. tointerp = Datei01
Datei01 ist auch mit allen Zeilen und Spalten bereits im Workspace vorhanden.
Wie kann ich jetzt eine Spalte der Datei01 bearbeiten?
tointerp(:,4) ergibt natürlich "e" und nicht die 4. Spalte von Datei01.
Wie kann ich Matlab klar machen, dass ich die Datei01 meine? Das ganze läuft in einer Schleife, sodass sich der Dateiname in tointerp bei jedem Durchgang ändert.
Gruß
|
|
|
|
|
|
| gästen |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 14:12
Titel:
|
 |
Kommst wohl nicht um eval rum (irgendwie nie schön)...
|
|
|
|
| nano |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 12.10.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.10.2010, 11:10
Titel:
|
 |
das reicht mir.
Funktioniert wie's soll!
Vielen Dank!
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 13.10.2010, 11:28
Titel: Re: Variablen aus String erkennen
|
 |
HAllo nano,
| Zitat: |
Der Dateiname der aktuellen Datei ist ein charakter array und heißt z.B. tointerp = Datei01
Datei01 ist auch mit allen Zeilen und Spalten bereits im Workspace vorhanden. |
Man könnte auf das unsichere und ineffiziente EVAL verzichten, wenn man die Variable "Datei01" nicht in den Workspace schreibt, sondern z.B. als Feld eines Structs definiert.
Ich nehme an, es ist mit einem gewissen Aufwand verbunden, die Variablen "Datei01", ... zu erzeugen. Dann kommt noch der Aufwand dazu, sie wieder mit dem fehlerträchtrigen EVAL auszulesen.
Es ist meistens einfacher und immer sicherer dynamische Feldnamen zu benutzen. Z.B.:
Gruß, Jan
|
|
|
|
| nano |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 12.10.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.10.2010, 14:47
Titel:
|
 |
Dann erhalte ich:
in names stehen die Dateinamen.
Gruß
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 13.10.2010, 15:32
Titel:
|
 |
Hallo nano,
ich rate mal, dass "names" ein cell string ist, oder? Dann:
Gruß, Jan
|
|
|
|
| nano |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 12.10.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.10.2010, 12:58
Titel:
|
 |
Danke für deine Hilfe Jan,
jetzt kommt folgende Fehlermeldung:
Datei01.txt befindet sich aber im Ordner und lässt sich auch normal laden..
Gruß
|
|
|
|
|
|
|
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.
|
|