|
|
In for Schleife wird kein passender Vektor erzeugt |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2012, 19:57
Titel: In for Schleife wird kein passender Vektor erzeugt
|
 |
Moin,
im Folgenden der Code der irgendein Problem mit der Vektorlänge hat.
Wenn ich das Programm laufen lasse bekomme ich die Fehlermeldung
"??? In an assignment A(I) = B, the number of elements
in B and I must be the same.
Error in ==> testfile at 235
F(k)=[m-Yvp,m*xG-Yrp;m*xG-Nvp,Iz-Nrp];"
Hier kann er mit dem F(k) nicht umgehen, bei der auskommentierten Zeile G(k) passiert das gleiche, wenn das (k) enthalten ist.
Hat jemand eine Idee warum das Programm nicht mit dem wachsenden Vektor umgehen kann, auch wenn die Werte zu k=1 und k=2 definiert sind? Die Länge der Vektoren sind zueinander passend, d.h. sie sind soweit gleich lang bzw. die Länge der Vektoren der rechten Seite stimmen überein und sollen besagten Vektor der linken Seite ergeben.
Viele Grüße
Jan
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.01.2012, 20:55
Titel:
|
 |
Hallo,
das Problem ist: du versuchst eine Matrix in ein Element eines Vektors zu schreiben. Das kann nicht gehen.
Wenn es wirklich beabsichtigt ist, verschiedene Matrizen in F zu speichern, würde ich empfehlen, ein Cell Array zu verwenden. Wenn die Matrizen alle gleich groß sind, ist auch ein 3D-Double-Array denkbar.
Mehr kann ich dazu erstmal nicht sagen, weil die Möglichkeiten auch von der Art der anderen Variablen abhängen.
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2012, 23:46
Titel:
|
 |
|
 |
|
Hallo,
wenn ich nun mat2cell einzig auf G(k) anwende, bekomme ich die Fehlermeldung das ich ein cell array nicht durch F(k) (oder F, F setzt sich aus Konstanten zusammen) teilen kann.
??? Undefined function or method 'mldivide' for input
arguments of type 'cell'.
Error in ==> testfile at 236
vp(k) = (F\G(k))' .* [0 1] * [0;1];
Wenn ich auf G(k) und F(k) mat2cell anwende bekomme ich folgende Warnungen und Fehlermeldungen:
Warning: Single input behavior is obsolete and will be
removed in a
future release of MATLAB. Use C={X} instead.
> In mat2cell at 54
In testfile at 230
Warning: Single input behavior is obsolete and will be
removed in a
future release of MATLAB. Use C={X} instead.
> In mat2cell at 54
In testfile at 232
??? The following error occurred converting from cell
to double:
Error using ==> double
Conversion to double from cell is not possible.
Error in ==> testfile at 232
F(k)=mat2cell([m-Yvp,m*xG-Yrp;m*xG-Nvp,Iz-Nrp]);
Die Warnung sollte im Moment wahrscheinlich weniger wichtig sein.
Generell bestehen die Variablen nur aus Skalaren.
Wie könnte ich obig geschildertes Problem lösen? Die Mathworks Homepage hat mir mit diversen x2y Erläuterungen bisher nicht weiterhelfen können und auch in diversen Foren bin ich noch nicht fündig geworden.
Hier nochmals der Code:
Viele Grüße
Jan
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.01.2012, 23:57
Titel:
|
 |
Hallo,
weil du dann in das Cell Array mit {} indizieren musst, um an den Inhalt zu kommen.
Bitte zudem möglichst einen reproduzierbaren Code zur Verfügung stellen.
Grüße,
Harald
|
|
|
|
|
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.
|
|