Ich will ein DGL-system lösen, das leider keine analytische Lsg hat (das Problem hab ich schon im Toolbox-threat diskutiert). Also hab ich es numerisch probiert und bekomme Ergebnisse die mir beim Einsetzen in eine Bondformel nicht die gewünschten Resultate liefern. Damit ich die Matlab-Implementierung als Fehlerquelle ausschliessen kann, wäre es super wenn ihr mir sagen könntet, ob folgende Programmierung richtig ist.
Code:
function dBC = funcBC(t,BC)
dBC=zeros(3,1);
dBC(1)=-(delta1+a1*BC(1)+a12*BC(2)-0.5*(BC(1))^2-0.5*beta12*(BC(2))^2);
dBC(2)=-(delta2+a2*BC(2));
dBC(3)=-(delta0-theta1*BC(1)-theta12*BC(2)-0.5*(BC(2))^2);
end for i=1:5 [t,Y]=ode45(@funcBC, [0 i],[000]);
B(i,1)=Y(end,1);
B(i,2)=Y(end,2);
C(i)=Y(end,3);
end
Dieser Code soll mir die Funktionenwerte B(t) (2dim) und C(t) (1dim) zu den Zeiten t=1:5 liefern mit B(0)=[0;0] und C(0)=0. Dabei sind die Ableitungen nach der Zeit in funcBC gegeben: dB1/dt = dBC(1), dB2/dt=dBC(2), dC/dt=dBC(3)
Ich hoffe echt, dass irgendwo ein Fehler drin ist, sonst passen meine Ergebnisse einfach nicht.
Danke schon mal!
VG
Blaubaer
Blaubaer
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.09.2008, 07:23
Titel:
Hier sind doch einige Profis unterwegs, die mir auf Anhieb sagen könnnen, ob ich mit dem genannten Code tatsächlich B und C zu einer bestimmten Zeit berechne.
Ich kenne mich einfach nicht aus mit DGL in Matlab. Aber soweit ich das nachvollziehen konnte muss ich ode45 einen Ableitungsfunktionen übergeben (in meinem Fall mehrere, die voneinander abhängen) und einen Startwert. Dann kann ich mir zB mit
[t,Y]=ode45(@funcBC, [0 5],[0 0 0]);
Y(end,
die Funktionswerte zum Zeitpunkt 5 ausgeben lassen?! Oder wird dadurch das Integral über die Funktionen berechnet?
Wäre echt super, wenn mir jemand weiterhelfen könnte.
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.