|
|
Zugriff auf Messwerte über Skript und for- Schleife |
|
Univac93 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.02.2016, 09:00
Titel: Zugriff auf Messwerte über Skript und for- Schleife
|
|
|
|
|
Hallo liebe Community,
ich habe derzeit ein kleines, eigentlich eher lästiges Problem. Ich arbeite derzeit an Simulationen, deren Ergebnisse ich glücklicher Weise als .MAT- Dateien abspeichern kann. Diese Werte sollen alle eingelesen werden. Abgespeichert habe ich sie als "Pn.MAT", wobei n=01..50 oder auch mehr/weniger.
Ich dachte jetzt, ich bin clever und schreibe schnell ein kleines Skript, dass die Dateien aufruft und die gespeicherten Werte als Variablen in den Zwischenspeicher legt (rufe ich die Dateien so, wie sie sind, einzeln auf, funktioniert das problemlos). Dummer Weise kriege ich die for- Schleife nicht hin.
bis jetzt hatte ich folgende Idee:
Da ist natürlich noch ein wenig schmückendes Beiwerk dabei, aber das ist ja für das Problem unerheblich. Jedenfalls funktioniert es so nicht. Ich habe es bisher geschafft, dass mit Octave den Inhalt einer Variable ausgibt, in die ich i geschrieben habe, aber damit habe ich am Ende auch nichts gekonnt, denn beim Einlesen erkennt Matlab nur "i" und sagt dann "Pi.MAT nicht gefunden".
Hat einer von Euch evtl. eine Idee, was ich hier machen kann?
Vielen lieben Dank schon einmal im Voraus,
mit lieben Grüßen,
Philipp.
|
|
|
|
|
lukel |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 27.08.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2015b
|
|
|
|
|
|
Verfasst am: 29.02.2016, 09:56
Titel:
|
|
Hey,
also ich würde das so machen, vorrausgesetzt, dass in den einzeln .mat-Dateien die gespeicherten Daten einen anderen Namen haben. Ansonsten überschreibst du die Daten immer wieder und erhälst am ende nur die Daten für i=50. Dann müsstest du die Daten zum Beispiel in einer Matrix speichern die du dann Spaltenweise befüllst.
MfG
lukel
|
|
|
Univac93 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.02.2016, 10:14
Titel:
|
|
Hallo lukel,
vielen Dank für die schnelle Hilfe! Das hat mir sehr geholfen, allerdings hast Du schon den nächsten Punkt angesprochen, der bei mir nicht klappt.
Der Wert, der aus der Datei eingelesen wird, heißt immer "vAnfang", daher dachte ich, ich könnte das Problem analog zum "load" - Befehl lösen:
Es sollen also die Variablen q01, q02, ... ,q50 erstellt werden. Vielleicht kann mir jemand den Fehler hier noch kurz erläutern.
Tausend Dank schon einmal,
liebe Grüße,
Philipp.
|
|
|
lukel |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 27.08.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2015b
|
|
|
|
|
|
Verfasst am: 29.02.2016, 10:25
Titel:
|
|
Das geht nicht weil du jetzt einem String (also einem text) einen Wert zuordnen willst.
Allerdings weiß ich nicht wie du aus deinem String eine Variable machst.
ich speichere die Daten dann immer so ab:
Dann steht in der ersten Spalte von q P01, in der zweiten P02 und so weiter auf die du dann zugreifen kannst.
|
|
|
Univac93 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.02.2016, 10:43
Titel:
|
|
Ganz herzlichen Dank!
Jetzt funktioniert es, wie erhofft und ich kann mir endlich die lästige, manuelle Eingabe sparen!
Made my day!
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 29.02.2016, 10:52
Titel:
|
|
Hallo,
Das manuelle einfügen einer 0 ist umständlich und fehleranfällig. Einfacher:
Da im MAT file z.B. die Variable "i" stehen könnte, ist ein direktes Laden in den Workspace immer eine Quelle schwer auffindbarer Fehler. Deshalb sollte man die Ausgaben von LOAD immer in einer Variablen speichern.
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.
|
|