deine DGL hat 4 Dimensionen, du musst also als Startvektor (y0) auch einen Vektor mit 4 Elementen vorgeben.
Bei deiner Funktion solltest du auf , und ; aufpassen, und auf die Reihenfolge der Argumente achten, die ode45 vorgibt. Du müsstest immer y(1) bis y(4) statt x(1) bis x(4) verwenden. Mir scheint zudem, dass du 2 und 4 statt 1 und 3 verwenden musst, um deine DGL korrekt umzusetzen. Jedenfalls stimmt dein Ansatz nicht mit deiner Implementierung überein.
Als Ende musst du das Ende der Simulationszeit angeben, keinen Endzustand. Wenn du einen Endzustand angeben möchtest, musst du ein anderes Verfahren anwenden, z.B.
Also ich bin nach dem Beispiel aus der Matlab Help vorgegangen und hab nun folgendes:
Code:
function dy = rigid(x,y)
dy = zeros(2,1); % a column vector
dy(2) = -10*10^-3*(sqrt((y(2))^2+(y(4))^2))*y(2);
dy(4) = -10*10^-3*(sqrt(y(2)^2+y(4)^2))*y(4)-10;
Fehlermeldungen bekomme ich keine mehr. Auch erscheint jetzt ein Plot. Leider sieht dieser Plot nicht wie erwartet aus. Die geplottete Kurve müsste doch mehr oder weniger (wegen dem Luftwiderstand) parabelförmig aussehen. Tut sie aber bei mir nicht.
Hallo schalom,
In Deiner rigid Funktion möchtest Du doch einen Vektor nmit 4 Elementen erzeugen, oder? Dann ist "zeros(2,1)" keine gute Wahl. Sollen die Elemente dy(1) und dy(3) wirklich 0 sein?!
Bemerkung: -10*10^-3 benötigt ein paar teure Operationen, -10e-3 dagegen keine.
Gruß, Jan
Zuletzt bearbeitet von Jan S am 15.01.2012, 23:04, insgesamt einmal bearbeitet
dy1 wäre ja die Geschwindigkeit in x-Richtung und die wäre ja in dem Moment in dem ich das Objekt werfe null. dy3 wäre die Anfangsgeschwindigkeit in y-Richtung und die wäre ebenso null oder?
Aber auch wenn ich die Anfangswerte ändere, ändert sich am Verlauf der Funktion sehr wenig.
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.