www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Gewöhnliche Differentialgleichungen" - DGl m. ni. konst. Koffizienten
DGl m. ni. konst. Koffizienten < gewöhnliche < Differentialgl. < Analysis < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Gewöhnliche Differentialgleichungen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

DGl m. ni. konst. Koffizienten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:00 Fr 23.06.2006
Autor: andredoering

Hallo,

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

kann mir jemand bei der Lösung eines Differentialgleichungssystems mit nicht konst. Koeffizienten weiterhelfen?

Das Gleichungssystem hat im einfachsten Fall folgende Form:

dP0/dt=-lambda1(t)*P0(t)+lambda2(t)*P1(t)
dP1/dt=-lambda2(t)*P1(t)+lambda1(t)*P0(t)

nach P0 und P1 möchte ich auflösen.

Anfangsbedingungen: P0=1, P1=0

Vielen Dank im vorraus!!!

        
Bezug
DGl m. ni. konst. Koffizienten: Antwort
Status: (Antwort) fertig Status 
Datum: 10:15 Fr 23.06.2006
Autor: mathemaduenn

Hallo andredoering,
[willkommenmr]
Ein allgemeines Verfahren um jede DGL zu lösen gibt's sicher nicht. Auch nicht für jede lineare DGL.
Bei Deiner DGL
dP0/dt=-lambda1(t)*P0(t)+lambda2(t)*P1(t)
dP1/dt=-lambda2(t)*P1(t)+lambda1(t)*P0(t)
Fällt erstmal auf das
[mm] \bruch{dP_0}{dt}=-\bruch{dP_1}{dt} [/mm]
Man kann also ansetzen
[mm] P_1=-P_0+c [/mm]
Mit den Anfangswerten ergibt sich:
[mm] P_1=.... [/mm]
Das vereinfacht das ganze erstmal ein wenig.
viele Grüße
mathemaduenn

Bezug
                
Bezug
DGl m. ni. konst. Koffizienten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:10 Mo 26.06.2006
Autor: andredoering

Hallo,

vielen dank für die Antwort, leider komme ich danach auch nicht wirklich weiter, da lambda ja nicht konstant ist sondern auch zeitabhängig ist.
Noch irgend ne Idee?

Vielleicht mit MATLAB?

Danke schon mal!!!

Bezug
                        
Bezug
DGl m. ni. konst. Koffizienten: Antwort
Status: (Antwort) fertig Status 
Datum: 21:20 Mo 26.06.2006
Autor: mathemaduenn

Hallo andredoering,
Die Substitution [mm] P_0=u+c [/mm] (c geschickt gewählt)  sollte ein direktes (formales ) Lösen mittels Trennung der Veränderlichen möglich machen.

MATLAB kann DGL imho "nur" numerisch lösen. Dafür sollte die Funktion lambda(t) schon bekannt sein ;-)

viele Grüße
mathemaduenn

Bezug
                                
Bezug
DGl m. ni. konst. Koffizienten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 09:06 Di 27.06.2006
Autor: andredoering

Vielen Dank.

Ich habe vorher das selbe Gleichungssystem mit Lambda1 und Lambda2 = konst. mit Hilfe der Laplace-Tranformation gelöst, das ging ohne Probleme.

Die Funktion für Lambda1 sind bekannt, das sind ganz einfache Funktionen, z.B. -x/2 oder so. Lambda2 kann konstant bleiben, also nicht Lambda2(t).

Wie sieht es dann mit MATLAB aus?

Oder kann man das auch mit Laplace machen?

Vielen Dank!

Bezug
                                        
Bezug
DGl m. ni. konst. Koffizienten: Antwort
Status: (Antwort) fertig Status 
Datum: 10:00 Di 27.06.2006
Autor: mathemaduenn

Hallo andredoering,
  

> Ich habe vorher das selbe Gleichungssystem mit Lambda1 und
> Lambda2 = konst. mit Hilfe der Laplace-Tranformation
> gelöst, das ging ohne Probleme.

  

> Die Funktion für Lambda1 sind bekannt, das sind ganz
> einfache Funktionen, z.B. -x/2 oder so. Lambda2 kann
> konstant bleiben, also nicht Lambda2(t).
>  
> Wie sieht es dann mit MATLAB aus?

Wie schon gesagt numerisch geht das auf jaden Fall. Wenn Du nat. an einer Funktionsgleichung interessiert bist brauchst Du Computeralgebrasysteme  wie z.B. Mathematica. Ich bin mir aber nicht  inwieweit MATLAB das auch kann [keineahnung]

> Oder kann man das auch mit Laplace machen?

Nein das geht i.A. nur für DGL mit konstanten Koeffizienten.
Du kannst aber deine DGL, bzw. wie weit Du mit meinen Hinweisen gekommen bist, erst nochmal hinschreiben.
viele Grüße
mathemaduenn

Bezug
                                                
Bezug
DGl m. ni. konst. Koffizienten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:37 Di 27.06.2006
Autor: andredoering

dP0(t)/dt=-lambda(t)*P0(t)+mü*P1(t)
dP1(t)/dt= lambda(t)*P0(t) -mü*P1(t)

lambda(t)=eine Funtkion für eine Ausfallrate= [mm] 1/(500*t^2) [/mm]
mü=ein konstanter Wert für die Reparaturrate= 0,1

Anfangsbedingungen P1=1 und P0=0

Mein Ansatz ist leider doch falsch, hatte das mit Laplace versucht!
Hab das mit MS Word geschrieben, könnte ich dir per mail schicken, aber wie gesagt, ist leider flasch!

Bezug
                                                        
Bezug
DGl m. ni. konst. Koffizienten: Antwort
Status: (Antwort) fertig Status 
Datum: 11:04 Mi 28.06.2006
Autor: mathemaduenn

Hallo andredoering,
Ich geh nochmal zurück zur analytischen Lösung.
(I) [mm]\bruch{dP_0(t)}{dt}=-\lambda (t)*P_0(t)+\mu *P_1(t)[/mm]
(II) [mm]\bruch{dP_1(t)}{dt}=\lambda (t)*P_0(t)-\mu *P_1(t)[/mm]
Jetzt die Gleichungen addieren (I)+(II)
[mm]\bruch{dP_0(t)}{dt}+\bruch{dP_1(t)}{dt}=0[/mm]
D.h. [mm] P_0(t)+P_1(t) [/mm] ist konstant O.K.?
Man kann also ansetzen [mm] P_1(t)=c-P_0(t). [/mm]
Mit Deinen Anfangswerten ergibt sich c=1. Einsetzen in (I) ergibt:
(I) [mm]\bruch{dP_0(t)}{dt}=-\lambda (t)*P_0(t)+\mu *(1-P_0(t))[/mm]
Das mit dem substituieren hatte ich nicht ganz durchdacht, aber dies ist eine lineare DGL also könnte man es mit dem Lösen der homogenen Gleichung + Variation der Konstanten für die partikuläre Lösung versuchen.
viele Grüße
mathemaduenn

Bezug
                
Bezug
DGl m. ni. konst. Koffizienten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:35 Mi 28.06.2006
Autor: andredoering

Hallo,

ein bekannter lieferte mir folgendes zur numerischen Lösung des Problems:

"...Wenn Du das Numerisch lösen willst, dann ist der Klassiker Runge-Kutta
4. Ordnung.
(Benötigt Python und matplotlib)

def l(t):
# Vorsicht mit der Priorität der Operatoren
        return 1/500*t*t

mu=0.01


def f((x1,x2), t):
    return array((-l(t) * x1 + mu * x2,l(t) * x1 - mu * x2 ))

# Numerische Integration der Schwingungsgleichung
from numarray import array, arange, zeros, Float64, fft
from matplotlib.pylab import plot, subplot


N=1000 # Anzahl der Schritte
h=0.1 # Schrittweite


# d/dt (x1,x2) = f(x1,x2)
def f((x1,x2), t):
    return array((x2,-x1 ))
    #return array((x2,-x1 - 100 * x1**3 )) # anharmonischer Oszillator

# in diesem Array werden die Werte gespeichert
x1=zeros(N, type=Float64) # x
x2=zeros(N, type=Float64) # x'

# Anfangsbedingungen
x1[0]=0
x2[0]=1
t=0

# der letzte berechnete Punkt
x_last=array((x1[0],x2[0]))

for i in range(N):
    # Runge-Kutta Zeitschritt
    k1=h*f(x_last, t)
    k2=h*f(x_last + k1/2,t+h/2)
    k3=h*f(x_last + k2/2,t+h/2)
    k4=h*f(x_last + k3,t+h)
    x_last = x_last + (k1 + 2*k2 + 2*k3 + k4)/6
    # Ergebnisse speichern
    x1[i]=x_last[0]
    x2[i]=x_last[1]
    t=t+h


subplot (211)
fig1=plot(x1[:100], "ro-", x2[:100], "b^-" )

subplot (212)
fig2=plot(fft.real_fft(x1).real)


Wenn Du das Problem in Matlab lösen willst , kannst Du den Quellcode
oben fast 1:1 übernehmen..."

Kann mir vielleicht jemand weiter helfen wie ich das Programm abändern muss damit es in MATLAB läuft.


Bezug
                        
Bezug
DGl m. ni. konst. Koffizienten: Antwort
Status: (Antwort) fertig Status 
Datum: 11:19 Mi 28.06.2006
Autor: mathemaduenn

Hallo andredoering,
Für die numerische Lösung hat Matlab eigentlich spezielle Verfahren für gewöhnliche DGL implementiert. [guckstduhier][]Mathworks Website
Den Startwert t=0 finde ich aufgrund der Funktion [mm] \lambda [/mm] (t) auf jeden Fall gewagt ;-)
Da sollte man sich imho eher überlegen ob die DGL für diesen Anfangswert überhaupt lösbar sein kann.
viele Grüße
mathemaduenn

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Gewöhnliche Differentialgleichungen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]