Verfasst am: 13.04.2009, 20:49
Titel: nach ode Aufruf Funktion und deren Ableitungen plotten
Liebes Forum,
habe gerade folgendes Problem:
Nach dem lösen einer DGL: [t x]=ode23(@dgl_1, [ta te], xa);
kann ich diese ausgeben mit: plot(t,x);
Jetzt möchte ich noch die ien oder andere Ableuitung dazu ausgeben, habe es folgendermassen versucht:
xd=diff(x)./diff(t);
plot(t,xd);
Jetzt haben wohl die Vectoren t und xd nicht die gleiche Länge. hat jemand eine Idee, wie ich dies anpassen kann?
Grüsse, Sportfreund.
Noch einen Hinweis, vielleicht mache ich es zu kompliziert. Bei der DGL geht es um ein Feder-Masse-Schwingsystem.
Also in der Funktjon dgl_1 steht ungefähr folgendes:
dxdt = [x(2); -x(1)-x(2)]
wenn ich nach dem lösen plot (t,x) mache, kommt der Weg und die Geschwindigkeit, aber nicht die Beschleunigung. Der Wert muss aber doch bereits vorliegen, wie komme ich an den ran?
Verfasst am: 14.04.2009, 10:08
Titel: Re: nach ode Aufruf Funktion und deren Ableitungen plotten
EinSportfreund hat Folgendes geschrieben:
wenn ich nach dem lösen plot (t,x) mache, kommt der Weg und die Geschwindigkeit, aber nicht die Beschleunigung. Der Wert muss aber doch bereits vorliegen, wie komme ich an den ran?
Das ist doch gerade die Differentialgleichung.
Du kannst Die DGL nach x'' auflösen und alles einsetzen.
Hallo Experten,
ich hänge mich mal hier dran, weil meine Frage so ähnlich zu sein scheint, mir hilft die Erklärung aber nicht weiter. ich habe im Prinzip eine ode45 angewandt auf ein DGL-System, das funktioniert auch. Ich will aber eine zeitabghängige Eingangsgröße (zur Information sozusagen) auch plotten, das ist eine Kraft. Von dieser Kraft ist aber nur ein Spaltenvektor übrig aus dem letzten Zeitschritt vermute ich - über die Zeit kann cih das nicht plotten. Vielleicht weiß jemand weiter. Vielen Dank!
Helmut
Verfasst am: 21.04.2009, 00:18
Titel: Re: nach ode Aufruf Funktion und deren Ableitungen plotten
Mein Problem geht noch weiter. Ich will nicht das normale Schwingsystem lösen, sondern den Fall mit Reibkraft und Stick-Slip.
Nach dem Modell auf dem Bild gehe ich vor, wobei zwischen Klotz mit Masse m und dem Band die Reibkraft Fr herrscht.
Mit folgendem Programm kann ich es lösen, mit einer steifen DGL:
m*x'' + k*x = Fr
Was mich jetzt aber interessiert sind die Kräfte, die an der Wand herrscht und die benötigt wird, um das Band zu ziehen (Fwand und Fband).
Müssen diese Kräfte nicht identisch sein?
Fband muss doch der Reibkraft entsprechen und Fwand der aktuellen Federkraft k*x.
Die Funktion von Weg und Geschwindigkeit scheint mir plausibel, aber ich gehe davon aus, dass meine Kraft am Band nicht richtig ist. Kann das jemand nachvollziehen?
Verfasst am: 15.05.2009, 21:59
Titel: Re: nach ode Aufruf Funktion und deren Ableitungen plotten
spawnferkel hat Folgendes geschrieben:
EinSportfreund hat Folgendes geschrieben:
wenn ich nach dem lösen plot (t,x) mache, kommt der Weg und die Geschwindigkeit, aber nicht die Beschleunigung. Der Wert muss aber doch bereits vorliegen, wie komme ich an den ran?
Das ist doch gerade die Differentialgleichung.
Du kannst Die DGL nach x'' auflösen und alles einsetzen.
Das hat mir damals weitergeholfen. Jetzt habe ich allerdings als DÄmfungselement eine Reibkraft mit dabei und m*x'' gibt mir die Kraft heraus und nicht die Beschleunigung. Hast du hierfür auch eine Lösung?
Ich suche nach dem Nulldurchgang der Beschleunigung und will dort einen Event verarbeiten. Ableiten der Geschwindigkeit geht bei mir auch nicht, da in der Eventverarbeitung die diff Funktion nicht geht.
Verfasst am: 15.05.2009, 22:51
Titel: Re: nach ode Aufruf Funktion und deren Ableitungen plotten
Habe das Problem folgendermassen lösen können:
in der Eventverarbeitung kann ich nicht ableiten mit diff:
a = diff(D*y(2)+ky(1)-Fr)
Folgender Fehler kommt:
??? Error using ==> .*
Matrix dimensions must agree.
Allerdings kann ich folgendermassen ableiten:
a = (D*y(2)+ky(1)-Fr)'
kann mir jemand sagen wo der Unetrschied zwischen diff und ' liegt?
der "Unterschied" ist, dass diff die Differenzen (also sowas wie eine Ableitung) bildet, der Operator ' stattdessen transponiert. Das hat mit Ableitungen nicht das geringste zu tun!!
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
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.