Benutzung von ODE45 bei DGLs < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:46 Do 17.05.2007 | Autor: | hanses |
Aufgabe | Geben sie die DGL y = y' mithilfe der Funktion ODE45 aus |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Hallo,
ich bin ein ziemliche Matlabneuling und soll die Fkt ODE45 benutzen.
mit DGL-System und der Einfuhr von Zustandsvariablen komm ich zurecht.
ich erstelle daraufhin eine Funktion, wie z.b.
%mydgl.m
function mydgl = f(t , y)
d = 0.2;
g = 9.81;
l = 0.5;
mydgl = [y(2);y(2)-g/l*sin(z(1))]
mit dem Aufruf
[t, y] = ode45('mydgl.m', [-20 20], [0, 1]);
plot(t, y);
Was ist nun, wenn ich kein System habe? In obigen Beispiel sollte ja eine E-Funktion herauskommen also bei y' = y;
ist es dann richtig, in der Funktionsdatei folgendes zu schreiben:
%mydgl.m
function mydgl = f(t , y)
mydgl = y;
und als Aufruf
[t, y] = ode45('mydgl.m', [-20 20], [1, 1]);
plot(t, y);
Ausgedruckt wird zwar eine E-Fkt aber nich die reine E-fkt obwohl doch deren Anfangswerte 1 und 1 sind, oder?
Ich bin mir nicht genau im klaren, wie die ODE45 Funktion genau arbeitet. Sie gibt ja auf jeden fall ein Ergebnisvektor zurück.
Bitte um Hilfe
|
|
|
|
Hi,
ich glaube, die m-Files die die DGLs enthalten sind falsch.
Ausserdem brauchst Du für die DGL nur eine Randbedingung.
Guck mal in die Hilfe, da gibt es einige Beispiele.
%mydgl.m
function dy = mydgl(t , y)
dy=y;
%hanses.m
tspan=0:.1:5;
y0=[1];
[t,y]=ode45(@mydgl,tspan,y0);
plot(t, y);
mfg
nschlange
|
|
|
|