|
|
Speichern von in Loop erstellten Objekten |
|
MissMat |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.03.2009, 02:33
Titel: Speichern von in Loop erstellten Objekten
|
 |
Hi People!
Ich weiß, diese Frage ist schon x mal behandelt und für Euch easy - ich steh trotzdem auf dem Schlauch
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
|
|
|
|
|
MissMat |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.03.2009, 03:04
Titel: Speichern von in Loop erstellten Objekten II
|
 |
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
|
 |
Beiträge: 494
|
 |
|
 |
Anmeldedatum: 02.10.08
|
 |
|
 |
Wohnort: Greifswald
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.03.2009, 09:56
Titel:
|
 |
i bzw. j solltest du übrigens nicht als laufvariable für eine for-Schleife verwenden.
_________________
>> why
The computer did it.
|
|
|
MissMat |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.03.2009, 10:57
Titel: Speichern von in Loop erstellten Objekten - DANKE Maddy !
|
 |
Genial!!!!
Danke danke danke :)
|
|
|
MissMat |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.03.2009, 11:04
Titel: Speichern von in Loop erstellten Objekten III
|
 |
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: ---
|
 |
|
|
 |
|
Verfasst am: 17.03.2009, 12:12
Titel: Dynamische Variablenbezeichnung in Loop
|
 |
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!
|
|
|
|
|
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.
|
|