|
|
Variablen dauerhaft im Workspace speichern? |
|
Macc |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.03.2016, 11:30
Titel: Variablen dauerhaft im Workspace speichern?
|
 |
Hallo zusammen,
ich habe folgende allgemeine Matlab frage, zu der ich bislang leider noch keine Antwort habe finden können*:
Ist es möglich, Variablen dauerhaft im Workspace zu speichern?
Hintergrund ist folgender: Ich lade in einem Programm bzw. einer Funktion eine relativ große Matlabdatei mit Daten ein. Diese dient als reiner Input, wird also vom Matlab Programm nicht verändert. Nun muss jedes mal, wenn ich zum Testen die Funktion neu starte, wieder diese Datei eingelesen werden, was verhältnismäßig lange dauert. Daher die Frage, ob ich die Daten auch dauerhaft speichern kann (so dass sie nicht nach jedem Programmdurchlauf- bzw. abbruch gelöscht wird).
Vielen Dank!!!
(*Gefunden dazu habe ich nur diesen Tread: http://www.gomatlab.de/daten-dauerh.....,dauerhaft+workspace.html
Aber da ich keine eigene GUI verwende, hat mir das nicht so weiter geholfen.)
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.03.2016, 11:39
Titel: Re: Variablen dauerhaft im Workspace speichern?
|
 |
Hallo Macc,
Das ist eine Aufgabe für den Befehl
persistent
Nun wird "data" behalten, es sei denn, Du verwendest irgendwo ein wildes "clear all" oder editierst das M-file.
Gruß, Jan
|
|
|
Macc |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.03.2016, 12:13
Titel:
|
 |
Hallo Jan,
vielen Dank für die schnelle Antwort.
Irgendwie funktioniert das allerdings noch nicht.
Wenn ich die Variable zur persistent Variable mache und später im Code z.B. einen Breakpoint setze und den Debugger stoppe, ist trotzdem der gesamt Workspace weg und auch die persistent Variable ist nicht mehr aufrufbar. Beim nächsten Start muss sie also wieder neu eingelesen werden.
Was mache ich falsch bzw. wo könnte mein Denkfehler liegen? Oder kann es an Einstellungen liegen? Sorry, ich kenne mich mit Matlab leider nicht so gut aus.
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 03.03.2016, 14:33
Titel:
|
 |
2 Gedanken:
Je nach Gesamtprojekt mit einem Skript arbeiten anstelle einer Funktion. DAnn ist alless immer im Based Workspace.
Das Einlesen der Daten kritisch hinterfragen. Brauche ich wirkliche alle? Alle Variablen in der vollständigen Grösse? Oder ist auch nachladen sinnvoll. Grösse der Variablen selber? Brauche ich soviele (Mess?)werte oder nur jeden Zehnten z.B.? SINGLE statt DOUBLE?
Andreas
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.03.2016, 15:21
Titel:
|
 |
Hallo Macc,
Zitat: |
Wenn ich die Variable zur persistent Variable mache und später im Code z.B. einen Breakpoint setze und den Debugger stoppe, ist trotzdem der gesamt Workspace weg und auch die persistent Variable ist nicht mehr aufrufbar. |
Hast Du irgendwo ein "clear all" im Code? Falls ja: Löschen!
Liest Du die persistent Variable in einer Funktion ein? Dann ist sie auch nur innerhalb der Funktion erreichbar.
Gruß, Jan
|
|
|
Macc |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.03.2016, 17:35
Titel:
|
 |
Danke für eure beiden Antworten! Es funktioniert jetzt!
Habe es jetzt genauso mit der isempty Abfrage übernommen, da hatte ich wohl vorher einen Denkfehler, und jetzt geht es
Danke auch für den Hinweis, ggf. statt einer Funktion ein Skript zu benutzen. Könnte in der Tat manchmal besser sein.
|
|
|
|
|
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.
|
|