Die Mathe-Redaktion - 12.12.2019 13:02 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte / Top 15
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt? im neuen Schwätz
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 766 Gäste und 19 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von mire2 gaussmath
Mathematische Software & Apps » Matlab » Fehlen Gleichungen oder Anfangswerte?
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Fehlen Gleichungen oder Anfangswerte?
Caleb
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 08.04.2014
Mitteilungen: 318
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2019-11-08


Nabend,

ich habe eine Matlab-Frage.

Ich habe folgendes System von Differentialgleichungen erster Ordnung:

<math>\displaystyle
x_1" = e^{\lambda(x_{i+1}-x_i)}+e^{\mu(x_i-x_{i-1})}
</math>

für <math>i=1,2,3</math>.
Anfangsbedingungen sind <math>x_i(0)=y_i</math>.

Dies modelliert also eine "nearest-neighbour" Interaktion.
Die Werte <math>\lambda</math> und <math>\mu</math> sind konstante Wachstumsraten.

So weit so gut.

Nun kommen in den Gleichungen ja aber auch <math>x_0</math> bzw. <math>x_4</math> vor, für die ich keine Gleichungen habe.

Wie würde man das in Matlab umsetzen?
Bin gerade etwas ratlos.


Viele Grüße!



  Profil  Quote  Link auf diesen Beitrag Link
rlk
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 10599
Aus: Wien
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  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  Quote  Link auf diesen Beitrag Link
Caleb
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 08.04.2014
Mitteilungen: 318
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2019-11-08


Hallo, rlk,

ja, genau das meine ich, es geht um das System
<math>\displaystyle
x_i"= e^{\lambda (x_{i+1}-x_i)} + e^{\mu(x_i-x_{i-1})},\quad i=1,2,3.
</math>
mit den Anfangsbedingungen <math>x_i(0)=y_i</math> mit <math>y_1<y_2<y_3</math>.

Für die äußeren Nachbarn sind keine Gleichungen gegeben und auch sonst ist für sie nichts vorgeschrieben.

Mal angenommen, ich wähle sie konstant <math>x_0=y_0<y_1</math> und <math>x_4=y_4>y_3</math>.

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:
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)))];
 


Ich denke, dann könnte man zum Beispiel den ODE-Löser ode45 verwenden und anschließend die Lösungen <math>x_i, i=1,2,3</math> plotten:
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. <math>t\in [0,100]</math>
[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')


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  Quote  Link auf diesen Beitrag Link
Caleb
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 08.04.2014
Mitteilungen: 318
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2019-11-12


Hallo,

passiert hier noch etwas?  confused



  Profil  Quote  Link auf diesen Beitrag Link
rlk
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 10599
Aus: Wien
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  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  Quote  Link auf diesen Beitrag Link
Caleb hat die Antworten auf ihre/seine Frage gesehen.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


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-2019 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. 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]