Forum: PC-Programmierung MatLab: Matrix Name von Variable abhängig machen


von Sven Scholz (Gast)


Lesenswert?

Hallo,

ich habe in Matlab eine for-schleife mit i=0:100 realisiert.

In dieser Schleife wird etwas mit einer Matrix gemacht.
Ich möchte jetzt alle 100 zwischenergebnisse in 100 Matrizen ablegen.
Etwa Matrix_1, matrix_2, matrix_3 --> halt so oft die schleife 
durchlaufen wird.

Kann ich das irgendwie mit i beschreiben?
etwa

'matrix_' + i = [ ergebnis der berechnung ];

Wie geht so etwas?

DANKE.

von Timo (Gast)


Lesenswert?

Nimm ein 3-dimensionales Array (Matrix). Die 1. Dimension nimmst du für 
die zB 100 Speicherplätze der Matrix, die anderen Dimensionen sind x und 
y der jeweiligen Matrix.

Also zB:

matrix(i,1:y,1:x) mit y = Anzahl der Zeilen und x = Anzahl der Spalten 
ist die i-te Matrix.

von Timo (Gast)


Lesenswert?

Oder:

matrix(i,:,:)

Damit wird die Größe der Matrix durch die Größe der Zuweisung definiert.

von Sven Scholz (Gast)


Lesenswert?

schönen dank. hat funktioniert...

von Detlef _. (detlef_a)


Lesenswert?

3D geht natürlich. Wenn Du wirklich 100 Matrizen automatisch erzeugen 
willst geht das allerdings auch mit dem sehr (sehr!) mächtigen Befehl 
eval:

for(k=1:100)
eval(sprintf('Matrix%d=bla;',k));
end;

Cheers
Detlef

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.