>Liebe Kollegen,
>
>ich komme auf zwei Wegen zu unterschiedlichen Ergebnissen,
>wobei Out[2] richtig ist. Hat jemand eine Idee, weshalb
>keine Lösung gefunden wird wenn ich die Anfangsbedingung
>gleich eingebe ? Dieser Fehler tritt nur in den Fällen auf
>wo wie hier die Anfangsbedingung schon der stationäre Zustand
>des Systems ist.
>
>Mit freundlichen Grüßen
>
>Horst Finsterbusch
>
>(* 1.Weg *)
>In[1]:= DSolve[{x'[t]==x[t]*(1-x[t]),x[a]==b},x[t],t]
>Out[1]= {{x[t] -> b*E^t / (E^a - b*E^a + b*E^t)}}
>In[2]:= % /. {a->0,b->1}
>Out[2]= {{x[t]->1}}
>
>(* 2.Weg *)
>In[3]:= DSolve[{x'[t]==x[t]*(1-x[t]),x[0]==1},x[t],t]
>Out[3]= {}
>
Hallo,
ich denke mir, dass der Grund darin liegt:
Mathematica rechnet zuerst die DGL ohne Nebenbedingungen.
Man erhält dann:
x(t) = e^t/(e^t-e^C).
wenn man nun hier das Problem
e^0/(e^0-e^C) == 1
löst, erhält man schnell, dass C=-infty sein muss.
Sie können diese DGL nicht für alle Anfangswerte lösen.
Anfangswerte im Intervall x(0)=(0,1) können nicht angenommen
werden. Dies steckt in der Gleichung:
e^0/(e^0-e^C).
Wenn Sie diese mal nach dem Parameter C plotten, sehen Sie das sehr
schnell.
In Ihrem Fall gehen Sie gerade vom Grenzwert aus und dies bereitet
natürlich Probleme.
Mit freundlichen Grüssen
S. Stingelin.
|