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 Befehl innerhalb einer For Schleife

 

samuray
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 05.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2009, 13:25     Titel: save Befehl innerhalb einer For Schleife
  Antworten mit Zitat      
Hallo zusammen,

ich möchte in jeder Schleife eine neue mat Datei erzeugen, z.B.

test1.mat in der 1. Schleife
test2.mat in der 2. Schleife
test3.mat in der 3. Schleife usw..

nur hat matlab das Problem, dass es nur harte Dateinamen akzeptiert,
also während

save test1.mat, 3

funktioniert, klappt das mit

save (DATEINAME, 3)

nicht (DATEINAME ist hier eine Variable, das einen String beinhaltet!)
Stattdessen bekomme ich immer die Fehlermeldung


??? Error using ==> save
Argument must contain a string.


Was mache ich falsch? Wie kann ich Matlab dazu bringen, dass er den
String in einer Variable übernimmt?

Vielen Dank im Voraus
Samuray
_________________

mehr Käse = mehr Löcher
mehr Löcher = weniger Käse
weniger Käse = mehr Käse
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

was willst du denn mit
Code:
save test1.mat, 3

erreichen? (speziell dem ,3)

Grundsätzlich ist der Aufruf
Code:
Funktion arg1 arg2 ...

gleichwertig mit
Code:
Funktion('arg1', 'arg2'...)


Die 3 müsste also in ' '.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 05.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2009, 13:56     Titel:
  Antworten mit Zitat      
Hallo Harald,

erstmal danke für deine Antwort. Der Befehl

save test1.mat, 3

ist hier nur ein vereinfachtes Beispiel zur Beschreibung meines Problems.

Statt der 3 wird hier eine komplexe struct Variable gespeichert.
Da sich aber der Inhalt der struct Variable in jeder Schleife ändert,
möchte ich diese struct Variablen vorerst in einzelne, durch fortlaufende
Nummern gekennzeichnete Dateien speichern. Wie mache ich das am besten?

Viele Grüße
Samuray
_________________

mehr Käse = mehr Löcher
mehr Löcher = weniger Käse
weniger Käse = mehr Käse
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.12.2009, 15:06     Titel:
  Antworten mit Zitat      
Hallo,

vielleicht solltest du konkret sagen, was das Problem ist.
In der ersten Fragestellung ist jedenfalls klar, warum das nicht funktioniert: das zweite Argument muss ein String sein, und 3 ist nunmal keiner.

Ansonsten: siehe vorheriger Post.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 05.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.01.2010, 00:38     Titel:
  Antworten mit Zitat      
Hallo,

also nochmal:

ich habe mehrere Variablen im struct Format: b1, b2, b3, b4, usw.
Diese sollen entsprechend dynamisch in die Dateien
test_b1.mat, test_b2.mat, test_b3.mat, test_b4.mat, usw. gespeichert werden
Nur geht das mit dem save Befehl nicht.
Es gibt zwar einige Beiträge hier im Forum, aber nicht in Bezug auf struct
Variablen...

Gruß
samuray
_________________

mehr Käse = mehr Löcher
mehr Löcher = weniger Käse
weniger Käse = mehr Käse
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.01.2010, 11:06     Titel:
  Antworten mit Zitat      
Hallo,

ob das nun struct-Variablen sind oder nicht ist für den Speicherungsprozeß eigentlich vollkommen egal. Hier ein Beispiel:

Code:
b1.vor = 'John'; b1.nach = 'Doe';
b2.vor = 'Jane'; b2.nach = 'Smith';
b3.vor = 'Jason'; b3.nach = 'Miller';
for I=1:3
    save(['test_b', num2str(I)], ['b', num2str(I)])
end


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 05.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.01.2010, 22:14     Titel:
  Antworten mit Zitat      
Hallo Harald,

besten Dank. Hätte nicht gedacht dass das so einfach geht!

Viele Grüße
samuray
_________________

mehr Käse = mehr Löcher
mehr Löcher = weniger Käse
weniger Käse = mehr Käse
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.