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

Speichern von in Loop erstellten Objekten

 

MissMat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2009, 02:33     Titel: Speichern von in Loop erstellten Objekten
  Antworten mit Zitat      
Hi People!

Ich weiß, diese Frage ist schon x mal behandelt und für Euch easy - ich steh trotzdem auf dem Schlauch Wink

Also: Folgende Datenmatrix

data[
1 10 100;
1 10 100;
1 10 100;
2 20 200;
2 20 200;
2 20 200;
3 30 300;
3 30 300;
3 30 300;
4 40 400;
4 40 400;
4 40 400]

Diese soll nun im Rahmen einer for-loop in 4 Matrizen aufgesplittet werden, wobei jede Matrix mit untersch. Namen abgespeichert werden soll.

k=4
T=3

for i=1:k
y_i = data( ((i-1)*T+1) : i*T , 2:3 );
??? % Wie Namen kreieren? eval? sprintf?
% Gewünschter Name sollte sein X_(i)
??? % Für jede Loop unter dem Namen abspeichern,
% so dass ich letztlich X_1, X_2, X_3, X_4 habe.
i=i+1
end

Viiiiielen Dank für Eure Hilfe im Voraus!
MissMat Smile


MissMat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2009, 03:04     Titel: Speichern von in Loop erstellten Objekten II
  Antworten mit Zitat      
Hey, ich nochmal.

Also folgendes hab ich nun gefunden:

k=4;
T=3;
tmpl='y_%2.4d';

for i=1:k

y_i=zeros(T,1);
y_i = data( ((i-1)*T+1) : i*T , 2 );
vnam=sprintf(tmpl,i);
save(vnam,'y_i');

i=i+1;
end


Mein Problem ist dann aber noch immer, dass ich die Variablen nicht gleichzeitig in den Workspace ziehen kann, da sie (abgesehen vom Namen) 'innendrin' noch immer y_i sind ...

Wenn jemand dazu was wüsste, das wär super!
danke!!
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 17.03.2009, 09:56     Titel:
  Antworten mit Zitat      
Code:


for i=1:k

y_i = data( ((i-1)*T+1) : i*T , 2:3 );
eval(['X' num2str(i) '=y_i;'])
save(['X' num2str(i)],['X' num2str(i)] )

end


 


i bzw. j solltest du übrigens nicht als laufvariable für eine for-Schleife verwenden.
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
MissMat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2009, 10:57     Titel: Speichern von in Loop erstellten Objekten - DANKE Maddy !
  Antworten mit Zitat      
Genial!!!!

Danke danke danke :)
 
MissMat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2009, 11:04     Titel: Speichern von in Loop erstellten Objekten III
  Antworten mit Zitat      
Letzte Frage:

k=2000.
Wie nutzt er den Laufindex i sowohl für die Variable als auch für den Namen als vierstellige Zahl?

Nochx danke!
 
MissMat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2009, 12:12     Titel: Dynamische Variablenbezeichnung in Loop
  Antworten mit Zitat      
Hi!
...natürlich ist das Problem noch nicht durch und es ergibt sich eins nach dem anderen..

k=2000

for
r=1:k
eval(['vname_' num2str(r) '=[ ' ' Y_' num2str(r) ' , % ***Problem
' Const',
' X1',
'X2' ]) ;
end

***Prob: Die abhängige Variable soll wieder bis 2000 durchlaufen. Da Variablennamen ja aber typischerweise in '...' erkennt Matlab dies ja nur als realen Text und nicht als dynamische Bezeichnung. Der Teil Y_... muss also irgendwie modifiziert werden.

Any ideas?

Danke mal wieder!
 
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 - 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.