WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

save workspace mit input(filename)

 

Sporisha
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2015, 17:47     Titel: save workspace mit input(filename)
  Antworten mit Zitat      
Hallo zusammen,

habe mal wieder ein kleines Problem, das mich leider ziemlich aufhält.
Ich möchte meinen aktuellen Workspace speichern und voher den Dateiname per input abfragen.

Mir ist klar, dass uisave dafür besser geeignet wär, würde aber trotzdem gern wissen wie das mit save gehen würde.

Aus der doc hab ich folgendes:
Code:
   % Save two variables, where FILENAME is a variable:
    savefile = 'pqfile.mat';
    p = rand(1, 10);
    q = ones(10);
    save(savefile, 'p', 'q');
 


Dachte das ist doch genau das was ich haben will, also schnell bei mir eingebaut und dann die Ernüchterung.

Code:
A = 3;
B = 4;

savefile = 'C.mat';
C = inputdlg('Bitte geben Sie einen Dateiname zum speichern des aktuellen Workspace an','Workspace speichern',1,{'...'});
save(savefile,'C');
 


Egal was ich als Input eingebe, die Datei wird immer als C.mat gespeichert.


Sieht jemand den Fehler? Crying or Very sad

Grüße, Andy
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.03.2015, 18:02     Titel:
  Antworten mit Zitat      
Hallo,

Code:
save(savefile, C);

Du willst ja die Variable C verwenden. Mit ' ' wird es als Zeichenkette behandelt.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Sporisha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2015, 18:08     Titel:
  Antworten mit Zitat      
Stimmt Smile

der Fehler bleibt allerdings weiterhin.. mir ist grad aufgefallen, dass der Code gar nicht das bewirken kann was ich haben will...

In meinem Beispiel wird nur die Variable C in C.mat gespeichert.
Ich möchte aber, dass die Anwort von inputdlg der Dateiname ist, unter der der workspace gespeichert werden soll.


Code:
savefile = inputdlg('Bitte geben Sie einen Dateiname zum speichern des aktuellen Workspace an','Workspace speichern',1,{'...'});
save savefile;


Der workspace wird jetzt immer als "savefile.mat" gespeichert, völlig egal was ich als input eingebe
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.03.2015, 18:13     Titel:
  Antworten mit Zitat      
Hallo,

dann eben
Code:


und wenn A und B dort abgespeichert werden sollen
Code:
save(C, 'A', 'B')


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Sporisha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2015, 18:38     Titel:
  Antworten mit Zitat      
Ich glaub es ist noch nicht ganz klar, was ich eigentlich machen will Laughing


Ich möchte alle Variablen im workspace (im Beispiel A und B) als .mat speichern. Der Dateiname dieser mat-Datei soll per input abgefragt werden.

Der workspace soll also als name.mat gespeichert werden.

Code:
A = 3;
B = 4;

name = inputdlg('Bitte geben Sie einen Dateiname zum speichern des aktuellen Workspace an','Workspace speichern',1,{'...'});
save name


In dem Fall wird die mat-Datei aber immer "name.mat" genannt.

Angenommen ich gebe im input-Fenster "Test" ein, dann soll der gesamte Workspace aber als "Test.mat" gespeichert werden

Hoffe das war jetzt verständlich Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.03.2015, 19:07     Titel:
  Antworten mit Zitat      
Hallo,

mir ist durchaus klar, was du willst. Wenn du C so definierst wie in deinem ersten Beitrag in diesem Thread, dann funktioniert es auch.
Wenn du nun gerne name als Variablenname möchtest, ist das in Ordnung. Die Klarmmern brauchst du aber trotzdem:
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Sporisha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2015, 19:20     Titel:
  Antworten mit Zitat      
Mit den Klammern ergibt sich leider ein Fehler.

Code:
A = 3;
B = 4;

name = inputdlg('Bitte geben Sie einen Dateiname zum speichern des aktuellen Workspace an','Workspace speichern',1,{'...'});
save (name)

Error using save
Argument must contain a string.
 


Den Fehler hatte ich schonmal und deine Hilfestellung lautet damals Option 's'. Damals hats funktioniert, hier ergibt sich aber ein neuer Fehler mit dem ich nix anfangen kann:

Code:
A = 3;
B = 4;

name = inputdlg('Bitte geben Sie einen Dateiname zum speichern des aktuellen Workspace an','Workspace speichern',1,{'...'},'s');
save (name)

Error using figure
Bad property value found.
Object Name :  figure
Property Name :  'Resize'.

Error in dialog (line 88)
hDialog = figure('ButtonDownFcn'    ,btndown   , ...

Error in inputdlg (line 124)
InputFig=dialog(                     ...

Error in Untitled3 (line 5)
name = inputdlg('Bitte geben Sie einen Dateiname zum speichern des aktuellen Workspace an','Workspace speichern',1,{'...'},'s');
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.03.2015, 19:44     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Mit den Klammern ergibt sich leider ein Fehler.
...
Argument must contain a string.

Dann schau doch mal in den Workspace. Dort wirst du sehen, dass name vom Datentyp Cell ist und einen String enthält. Dann holt man den String eben aus dem Cell heraus:
Code:


Zitat:
Den Fehler hatte ich schonmal und deine Hilfestellung lautet damals Option 's'.

Damals ging es dann wohl um den Befehl input.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Sporisha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2015, 20:02     Titel:
  Antworten mit Zitat      
Super danke Harald Smile

ich glaub ich sollte auch mal ganz grundlegend die Datentypen wiederholen^^

sowas hält einem immer schön vor Augen wie wenig man eigentlich drauf hat Laughing
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.