Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Randwertproblem 2. Ordnung Loesen mit Matlab

Randwertproblem 2. Ordnung Loesen mit Matlab

Universität / Fachhochschule

Gewöhnliche Differentialgleichungen

Tags: Gewöhnliche Differentialgleichungen, Matlab

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Lagrange

Lagrange aktiv_icon

17:11 Uhr, 10.03.2010

Antworten
Eigentlich habe ich eine ganz einfache ODE 2. Ordnung zu loesen und ich dachte Matlab kann das. Allerdings haben alle Beispiele, die ich im Netz gefunden habe andere Anfangsbedingungen. Ich moechte folgendes Problem loesen:

dCdz2=F(C)

mit den Randwerten C(-)=0.249 und C()=0.751. Ausserdem habe ich noch C(0) = 0.5 gegeben. F ist gegeben als

F(C)=w(1-C)a-wCa+kT*(ln(C)-ln(1-C))a

Falls es jemanden interessiert: k ist die Bolzmannkonstante, T eine Temperatur, w = 2.2kT und a ist eine Flaeche. Ich habe folgende Werte verwendet

k=1.3810-23, T=295 und a=7.810-19.

Jetzt habe ich das Problem natuerlich ersteinmal als ein System von ODEs geschrieben:

c1ʹ(z)=c2(z)
c2ʹ(z)=F(c2)
c2(-)=0.249, c2()=0.751 und c2(0)=0.5

Dann habe ich ein m-File geschrieben, das die ersten beiden Gleichungen enthaelt und dann wollte ich es folgendermassen ausfuehren:

>> zspan=[-1000, 1000];
>> [z, c]=ode45('problem', zspan, c0);

Mein Problem ist jetzt, dass ich nicht weiss wie ich c0 definieren kann, da ich kein AWP habe. Waere super wenn ihr mir helfen koenntet.

Vielen Dank



Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich benötige bitte nur das Ergebnis und keinen längeren Lösungsweg."
Online-Nachhilfe in Mathematik
Antwort
johannes2010

johannes2010 aktiv_icon

08:53 Uhr, 12.03.2010

Antworten
Hi,

soweit ich das verstanden habe geht das mit keiner NUMERISCHEN Lsg.
Was ODE grob macht: Du gibst ein AWP vor und er geht step-by-step mit einem numerischen Algorithmus unter Verwendung der DGL vor.
Wenn du dein Problem numerisch lösen möchtest, musst du dein kompletten AWP an einer Stelle schätzen. Anschließend die Berechnung durchführen und checken ob auch die anderen vorgegebenen AWP erreicht wurden. Diesen Weg wird man i.A. nicht wählen.

Du brauchst eine analytische Lsg. des Problems. Da würde ich dir Mathematica (Maple) empfehlen.

Ist das kleine c in deiner Gleichung das große C?
Antwort
johannes2010

johannes2010 aktiv_icon

09:12 Uhr, 12.03.2010

Antworten
Also auf jeden Fall kein stationärer Wert!
Lagrange

Lagrange aktiv_icon

10:39 Uhr, 12.03.2010

Antworten
Ersteinmal vielen Dank fuer eure Antworten. Mit maple habe ich es ebenfalls versucht (und mit der symbolischen Toolbox in Matlab). Leider gibt mir beides kein Ergebnis. Ich denke mit C(-) und C() ist lediglich gemeint, dass die Werte am Rand Ca und Cb sind. Ich haette da ganz mutig C(-100)=0.249,C(100)=0.751 geschrieben.

Ich weiss uebrigens noch dass das System genau eine Loesung hat.


P.S. oh ja Sorry c=C ich aendere das sofort - danke fuer den Hinweis!
Antwort
johannes2010

johannes2010 aktiv_icon

12:40 Uhr, 12.03.2010

Antworten
Mal umgeschrieben:

F(C)=a1(1-2C)+a2ln(C1-C)

Das ist doch schon garnicht für C0 definiert,oder?
Wo hast du denn die DGL her?
Lagrange

Lagrange aktiv_icon

13:17 Uhr, 12.03.2010

Antworten
Nein "C" selbst steht fuer Konzentration und ist daher im Intervall (0,1). Die Logarithmen sichern gerade dass C immer zwischen 0 und 1 bleibt. C ist eine Funktion in z und z selbst ist definiert auf (-,). Daher sind die Randbedinugen schon ok.

Ich glaube zwar leider nicht, dass es dir viel hilft wenn ich dir sage wo das Problem herkommt, mache ich aber trotzdem gerne:

Vielleicht hast du schon mal etwas von der Cahn-Hilliard Gleichung gehoert. Das ist eine nicht lineare partielle DGL 4. Ordung. Mit ihr kann man z.B. berechnen wie sich eine Fluessigkeit aus 2 verschiedenen Molekuelen entwichelt. Wenn man annimmt, dass Molekuel A von Molekuel A angezogen wird und Molekuel A von Molekuel B abgestossen wird. Die Cahn-Hilliard Gleichung (in einer Dimension) sieht folgender massen aus:

ct=-k2cxxxx+fxx(c) mit periodischen oder Neumann Randbedingungen (*)

f ist hier die freie Energie des Systems und k1. In meinem Fall diese freie Energie ist die Stammfunktion der oben angegebenen Funktion F(C). Ein schlauer Kerl (Pego - Front Migration in the Nonlinear Cahn-Hilliard Equation). Sagt nun, dass wenn ich das Problem (in meinem ersten Post) loese, dann bekomme ich das Front-Profil zu (*).



Antwort
johannes2010

johannes2010 aktiv_icon

14:23 Uhr, 12.03.2010

Antworten
Ich hab jetzt mal mehrere Varianten probiert. kein Erfolg!
Was sich aber anbieten würde, ist eine Taylor-Reihenentwicklung:

C[14,34]
ln(C1-C)=siehe Bild
ln(C1-C)4(C-12)+32(C-12)3+1536(C-12)5+O((C-12)7)

F(C)=-2wa(C-12)+kTaln(C1-C)
F(C)(4kTa-2wa)(C-12)+kTa(32(C-12)3+1536(C-12)5)

Die Approximation hat dann Ordnung 6!!!
Mit diesem Ansatz kann man zumindest die implizite Form:
1F(C)dCdC=dzdz=12z2+z+a1
leicht berechnen.
Für eine explizite Darstellung, würde ich sogar nur den linearen Anteil verwenden.

C(z)=psin((2(w-2kT)a)12z)+12
p14

Frage beantwortet
Lagrange

Lagrange aktiv_icon

17:47 Uhr, 12.03.2010

Antworten
Also ich habe deine Loesung jetzt mal mit maple gezeichnet und ich muss sagen das sieht sehr sehr gut aus. Deine Loesung geht bei 0 durch 0.5 und sie bewegt sich zwischen 0.75 und 0.25. Viel besser an der Loesung ist noch, dass fuer w = 2*k*T die Loesung konstant 0.5 ist. Konntest du nicht wissen, aber das muss auch so sein :-).

du hast mir wirklich sehr weiter geholfen - vielen vielen Dank. Ich werde dich erwaehnen, wenn ich meinen ersten Nobelpreis gewinne :-)


Antwort
johannes2010

johannes2010 aktiv_icon

17:50 Uhr, 12.03.2010

Antworten
Danke. War am Anfang schon sehr verwirrend!
Das Problem ist, dass die Randbedingungen C(±) nicht zu der Logarithmusfunktion passen.