|
|
|
for-Schleife: Speichern von Matrizen unterschiedlicher Grö |
|
| laze |

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 25.11.2011, 15:09
Titel: for-Schleife: Speichern von Matrizen unterschiedlicher Grö
|
 |
| |
 |
|
Hallo Leute,
mein heutiges Problem ist, dass ich mit einer for-Schleife Matrizen verschiedener Größe einlese und plotte. Dabei möchte ich auch einen Mittelwert für jeden Plot bilden, da allerdings die for-Schliefe immer nur eine Matrix einliest kann ich keinen Mittelwert über alle während eines Durchlaufs der Schleife bilden.
Meine Frage ist nun, kann ich die Matrizen unterschiedlicher mit der for Schleife einmal komplett durchlaufen lassen und mir in einer Variablen die Werte einlesen lassen? Ich habe etwas ähnliches schon probiert, und das funktionierte eben nur solange bis die Matrixgröße anfing sich zu verändern.
==> Dimension Fehler
Bsp.Code, nicht mein Realer:
Jetzt bräuchte ich noch einen Befehl, der mir xin bzw yin in eine Variable schreibt, wo im Endeffekt dann jeweils alle x_(i) und y_(i) enthalten sind, damit ich einfach nur noch sagen muss: Bilde mir für Variable (ich nenn sie einfach ma xneu) xneu den Mittelwert über alle (i); analog dazu y.
Schon mal danke für die zaaaahlreichen Antworten
Grüße laze
_________________
--Wannabe
|
|
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 25.11.2011, 15:21
Titel:
|
 |
sowas? speicher is aber dynamisch was an der laufzeit kratzt. und ich habs so verstanden das x ne cell is wo lauter spaltenvektoren drin sind
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.11.2011, 15:50
Titel: Re: for-Schleife: Speichern von Matrizen unterschiedlicher G
|
 |
Hallo laze,
Irgendetwas geht hier sehr durcheinander: "x" ist ein Vektor. Aber was ist "x_(i)"? Und wieso konstruierst Du die Strings 'x_1', 'y_1' usw?
Gruß, Jan
|
|
|
|
| laze |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 25.11.2011, 17:13
Titel:
|
 |
| |
 |
|
Ok, hab nicht beachtet, dass ihr das Gerüst aussen herum nicht kennt, bzw. dass ich eigtl. nen Kommentar im Code hiermit "%x_(i) und y_(i) sind Spaltenvektoren mit unterschiedlicher Größe " angeben wollte.
So nun: Ich habe also einen Vektor x mit 4 Werten. In die bestehende for-Schleife lese ich nun die bereits existierenden Variablen "x_1" bis "x_4" (Meine x_(i), die ich im Kommentar gemeint habe) und "y_1" bis "y_4" aus meinen Workspace. (Es handelt sich hierbei um .fig Datei (GUI)! D.h. ich lad die Variablen x_1 - x_4 und y_1 - y_4 aus dem Workspace über meine for Schleife in meine Callback Funktion eines pushbuttons ein ). OK, der Ersatzcode is scheisse, ich gebs zu . Da fehlt viel zu viel auch unten noch.
Aber seis drum, ich probier trotzdem zu erklären:
Auf jeden Fall sind x_1 bis x_4 Spaltenvektoren unterschiedlicher Länge, ebenso y_1 bis y_4. Ich möchte nun, ums nochmal zu sagen, in dieser for-Schleife aus diesen jeweils 4 Einzelektoren, eine Gesamtmatrix x und eine Gesamtmatrix y machen.
Stellt sich nur die Frage wie, da die Zeilenanzahlen immer anders sind meckert Matlab dass die Dimensionen nicht passen. Vielleicht mit NaN oder 0 auffüllen??
Grüße und hfftl. ist es diesesmal verständlicher.
_________________
--Wannabe
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.11.2011, 12:39
Titel:
|
 |
Hallo laze,
Statt den Index in die Namen der Variablen zu schreiben, wäre die Verwendung eines echten Index besser. Da die Daten nun unterschiedliche Länge haben, wäre die "x_{i}".
Wenn Du eine Matrix aus Vektoren unterschiedlicher Länge erstellen möchtest, musst Du in der Tat mit Nullen, NaNs, Inf's oder irgendetwas anderem auffüllen. Welcher der Werte für Dich am besten geeignet ist, können wir nicht wissen, da es ganz vom Problemn abhängt.
Gruß, Jan
|
|
|
|
| laze |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 27.11.2011, 16:55
Titel:
|
 |
Danke Jan,
das einfachste wäre, die Vektoren mit NaN's aufzufüllen, da ich diese im Nachhineien einfach wieder rauslöschen kann. Nur weiss ich nich,t wie ich das in meiner Schleife ausdrücken soll. Oo
Jmd. ne Idee??
Danke schon einmal
Grüße laze
_________________
--Wannabe
|
|
|
|
| laze |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 28.11.2011, 08:04
Titel:
|
 |
Wie so oft, hat sich da Problem, durch bereits andere gestellte Themen erledigt
http://www.gomatlab.de/matrix-zusammenbauen-t3202.html
Mit der Lösung von nschlange konnte ich meine Matrix seperat erzeugen und wunderbar mit NaN auffüllen!
Einfach top das Forum hier!!
Grüße laze
_________________
--Wannabe
|
|
|
|
|
|
|
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.
|
|