Forum: PC Hard- und Software Differentialgleichung mit Matlab


von Nico (Gast)


Lesenswert?

Sehr geehrte Damen und Herren,

ich habe ein Problem. Ich möchte mit "Matlab" für  Runge-Kutta methode 
ein Plot darstellen . Ich weiss gar nicht, wie es geht!

Vielen Dank im voraus!

von Gast (Gast)


Lesenswert?

Ich auch nicht.

Aber es gibt einen Zauberbefehl namens "plot" sowie viele hilfreiche 
Beispiele in der Dokumentation von Matlab und auf den entsprechenden 
Webseiten (www.mathworks.com)

von Tom E. (tkon)


Lesenswert?

Zur Darstellung kannst du plot oder plot3 benutzen.

von ich (Gast)


Lesenswert?

Ich muss sagen, Hä??
Man kann nur Vektoren gleicher Dimension plotten. Runge-Kutta ist ein 
Lösungsverfahren für Differentialgleichungen.

von Tom E. (tkon)


Lesenswert?

@ich
ich hätte jetzt mal angenommen er will das Ergebnis drucken (?)

von Nico (Gast)


Lesenswert?

ja, ich will das Ergebnis als Plot darstellen.

von Thomas (Gast)


Lesenswert?

Was hast du denn schon fertig?

von Nico (Gast)


Lesenswert?

ich habe was implementiert: Z.B: ich möchte jetzt als plot darstellen. 
Normal komme ich aus " C programmierung Ecke " , aber ich muss jetzt 
matlab programmieren. Und ich kann matlab nicht so gut.

function [res,err] = RK(a,ya,b,h_0,acc,eps);
fulfils dy/dx=f(x,y)
inc=1;
err=0;
x(inc)=a;
y(inc)=ya;
h=h_0;
inc=2;
x(inc),y(inc),y_old,err_step] = RKStep(x,y,h);
while x(inc)<b
tol=acc*sqrt(h/(b-a))+eps*y(inc)*sqrt(h/(b-a));
inc=inc+1;
if err_step>2*tol
h=h/2;
if h > (b-x(inc-1));
h = b-x(inc-1);
end
inc=inc-1;
[x(inc),y(inc),y_old,err_step] = RKStep(x(inc-1),y_old,h);
else
err=sqrt(err^2+err_step^2);
h_old=h;
h=0.95*(tol/err_step)^0.25*h;
if h>2*h_old
h=2*h_old;
if h > (b-x(inc-1));
h = b-x(inc-1);
end
[x(inc),y(inc),y_old,err_step] = RKStep(x(inc-1),y(inc-1),h);
else
if h > (b-x(inc-1));
h = b-x(inc-1);
end
[x(inc),y(inc),y_old,err_step] = RKStep(x(inc-1),y(inc-1),h);
end

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.