Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Fehlen Gleichungen oder Anfangswerte?
Autor
Universität/Hochschule Fehlen Gleichungen oder Anfangswerte?
Caleb
Wenig Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 08.04.2014
Mitteilungen: 352
  Themenstart: 2019-11-08

Nabend, ich habe eine Matlab-Frage. Ich habe folgendes System von Differentialgleichungen erster Ordnung: $\displaystyle x_1' = e^{\lambda(x_{i+1}-x_i)}+e^{\mu(x_i-x_{i-1})} $ für $i=1,2,3$. Anfangsbedingungen sind $x_i(0)=y_i$. Dies modelliert also eine "nearest-neighbour" Interaktion. Die Werte $\lambda$ und $\mu$ sind konstante Wachstumsraten. So weit so gut. Nun kommen in den Gleichungen ja aber auch $x_0$ bzw. $x_4$ vor, für die ich keine Gleichungen habe. Wie würde man das in Matlab umsetzen? Bin gerade etwas ratlos. Viele Grüße!


   Profil
rlk
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 11661
Wohnort: Wien
  Beitrag No.1, eingetragen 2019-11-08

Hallo Caleb, bei Deiner Frage geht es um das Differentialgleichungssystem, Matlab kommt erst später ins Spiel. Ich nehme an, Du meinst $$x_i' = e^{\lambda(x_{i+1}-x_i)}+e^{\mu(x_i-x_{i-1})}\quad i\in\{1,2,3\}$$ Woher kommt dieses System, sind dort $x_0$ und $x_4$ definiert? Wenn nicht, gibt es verschiedene Möglichkeiten: man könnte $x_0=x_3$ und $x_4=x_1$ festlegen, oder die äußeren Nachbarn $x_0$ und $x_4$ als Konstanten betrachten. Servus, Roland


   Profil
Caleb
Wenig Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 08.04.2014
Mitteilungen: 352
  Beitrag No.2, vom Themenstarter, eingetragen 2019-11-08

Hallo, rlk, ja, genau das meine ich, es geht um das System $\displaystyle x_i'= e^{\lambda (x_{i+1}-x_i)} + e^{\mu(x_i-x_{i-1})},\quad i=1,2,3. $ mit den Anfangsbedingungen $x_i(0)=y_i$ mit $y_1y_3$. Dieses Modell ist eine starke Vereinfachung für Fronten, die exponentiell langsam miteinander inteagieren. ---- Wie würde man das jetzt in Matlab umsetzen? Meine Idee wäre, zunächst eine Datei nni.m zu schreiben, die die rechte Seite des System definiert: \sourceon Matlab function dXdt = nni(t,x,lambda,mu,y0,y4) % nearest neighbour interaction (nni) % y0 = linker äußerer Nachbar, konstant % y4 = rechter äußerer Nachbar, konstant dXdt = [exp(lambda*(X(2)-X(1)))+exp(mu*(X(1)-y0));exp(lambda*(X(3)-X(2)))+exp(mu*(X(2)-X(1))); exp(lambda*(y4-X(3)))+exp(X(3)-X(2)))]; \sourceoff Ich denke, dann könnte man zum Beispiel den ODE-Löser ode45 verwenden und anschließend die Lösungen $x_i, i=1,2,3$ plotten: \sourceon Matlab % willkürliche Wahl: lambda=mu=1 und y0=0, y4=20 sowie y_1=5, y_2=10, y_3=15 % betrachte die ersten 100 Zeitschritte, d.h. $t\in [0,100]$ [t,X] = ode45(@(t,X) nni(t,X,1,1,0,20),[0 100], [5; 10; 15]); % Plotte x_1=X(1), x(2)=X(2), x(3)=X(3) gegen t plot(t,X(:,1),'-o',t,X(:,2),'-o',t,X(:,3),'-o') xlabel('Time t'); ylabel('Solution x'); legend('x_1','x_2','x_3') \sourceoff Wäre das eine Möglichkeit? Habe noch nie Matlab fürs Lösen von ODE benutzt und mir das mehr oder weniger aus Beispielen aus dem Internet zusammen gereimt. Viele Grüße


   Profil
Caleb
Wenig Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 08.04.2014
Mitteilungen: 352
  Beitrag No.3, vom Themenstarter, eingetragen 2019-11-12

Hallo, passiert hier noch etwas? :-?


   Profil
rlk
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 11661
Wohnort: Wien
  Beitrag No.4, eingetragen 2019-11-13

Hallo Caleb, in der Funktion nni rechnest Du mit dem Vektor X, das formale Argument hast aber x genannt. Für Matlab sind das zwei verschiede Größen, der Aufruf wird daher nicht funktionieren. Die Verwendung von ode45 sieht plausibel aus, nur die Wahl des Zeitintervalls $0\leq t\leq 100$ erscheint mir gewagt, weil ich erwarte, dass die Lösung der Differentialgleichung nach endlicher Zeit explodiert. Es wäre schön, wenn Du den Plot hier zeigst, nicht jeder der Leser hat Zugang zu Matlab oder einer der Alternativen. Servus, Roland


   Profil
Caleb hat die Antworten auf ihre/seine Frage gesehen.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]