Verfasst am: 12.10.2015, 23:26
Titel: Simulation eines Doppelpendels
Ich schreibe eine Simulation für einen Doppelpendel. Ich erkäre zunächst einmal die Struktur wie ich es aufgebaut habe und stelle dann paar Fragen / Vermutungen wo es hapert.
1. Ein Skript dP in der ich symbolische Parameter wie Länge & co und die symbolischen Variablen alpha, alphadot, beta und betadot aufstelle. Daraus ergibt sich mit dem Prinzip der virtuellen Arbeit und dem d'Allembert solgende Endform : M(y,t)*y''+K(y',y,t)=q(y',y,t).und y ist ein vektor von unabhängiggen Koordinaten also [ alpha, beta] .In dem Skrip setze ich auch schon z1 als y und z2 als ydot, für die Spätere Trafo
2.Nun muss ich die Ordnung der Gleichung auf 1 reduzieren. Ich verwende z1 und z2 von vorhin
setze. Dazu erstelle ich eine Funktion dPOde(z1dot,z2dot) :
Code:
function[z1dot, z2dot] = dPendOde(z1,z2 ,param)
%Transformation in ODE system of order 1
5. Beim ausführen kommt jedoch die Nachricht :
Attempted to access z1(2); index out of bounds because numel(z1)=1
Anscheinend wird z1 irgendwann während das handle an den solver übergeben wird als 2 deklariert ? und z2 nimmt den wert z0 an ? Liegt es daran dass bei ode Vektoren als Variablen bzw Lösung nicht verwendet werden können ? Da apha und beta noch in z1 & co stecken ?
Ich verstehe es nicht , wieso wird z1 zu 2 ? Scheinbar total willkürlich.
bitte mal die Doku von ode45 anschauen. Du müsstest statt mit Variablen z1, z2 mit einem Vektor z mit zwei Elementen arbeiten, bzw. wenn z1 und z2 je zwei Elemente haben, dann zu einem Vektor mit vier Elementen zusammenfassen.
Zitat:
Anscheinend wird z1 irgendwann während das handle an den solver übergeben wird als 2 deklariert ?
#
Das ist eine Fehlinterpretation. Es wird versucht, auf das zweite Element eines Vektors zuzugreifen, der nur ein Element hat.
Das Probelem dabei ist nun, dass sich das Koordinatensystem sich ständig ändert. Die Maßstäbe für das KS ändern sich und springt von einer Ecke zur anderen.Ebenfalls ändern sich auch die Länge der Pendelstange, aber ich denke das ist eher ein Modellierungsproblem
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
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.