WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Differentialgleichung mit ODE lösen

 

Rippert42
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 10.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2011, 11:40     Titel: Differentialgleichung mit ODE lösen
  Antworten mit Zitat      
Hallo Forum,

ich hoffe, ihr könnt mir bei meinem Problem einen Tipp geben. Ich habe eine DGL der Form

[code] %
dc/dt=a*dc/dx+b*d^2c/dx^2+d(c,x,t)
[/code]

Physikalisch gesehen ändert sich die Konzentration c zeitlich in einem durchströmten Rohr durch Konvektion in der Raumrichtung, durch Dispersion in der Raumrichtung mit der zweiten Ableitung und durch einen Senkenterm d der abhängig ist von der Konzentration, dem Ort und der Zeit.

Ich möchte diese DGL möglichst mit einem ODE-Löser lösen. Kann ich die rechte Seite der Gleichung null setzen und was passiert mit dem Senkenterm?

Ich habe diese Frage in keinem anderen Forum gestellt.

Danke für die Hilfe

Rippert42
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.06.2011, 12:53     Titel:
  Antworten mit Zitat      
Hallo,

in der gegebenen Form ist das erst mal eine partielle DGL, kann also mit ODE-Lösern meines Wissens nicht gerechnet werden.

Zitat:
Kann ich die rechte Seite der Gleichung null setzen und was passiert mit dem Senkenterm?

Warum würdest du das tun wollen? Bist du an einer Art stationärem Zustand interessiert? Falls ja, wird dann auch d nicht mehr explizit von t abhängen dürfen. Ist d über eine Formel gegeben?

Gibt es Randbedingungen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Rippert42
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 10.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2011, 10:11     Titel:
  Antworten mit Zitat      
Hallo,

ich würde den statonären Zustand annehmen, um den Wert für für jeden Zeitschritt bestimmen zu können. Hinter d steckt eine aufwendige Berechnung, die in meinem Modell etwa 95% der Codezeilen umfasst. In der DGL erfolgt quasi die Auswertung. Für jeden Zeitpunkt wäre d aber unabhängig von t.

Randbedingungen sind wohl c(t=0,x)=0, c(t>1,x=0)=c0, d^2c/dx^2=0 für x=0 und x=xmax.

Ich habe leider noch keinen echten Ansatz für die Lösung, jeder Hinweis oder eine ähnliche Ausgangslage in einem Beispiel würde mir helfen!

Gruß

Rippert42
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.06.2011, 09:40     Titel:
  Antworten mit Zitat      
Hallo,

sieht nach einem Boundary Value Problem aus:
http://www.mathworks.com/access/hel.....chdoc/math/f1-713877.html

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mheiker
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.07.12
Wohnort: Osnabrück
Version: ---
     Beitrag Verfasst am: 29.07.2012, 17:16     Titel:
  Antworten mit Zitat      
Hallo,

wenn du die Gleichung zu Null setzt, erhälst du zwangsweise ein Gleichungssystem. Dieses Gleichungssystem kannst du als dünn besetzt Matrix schreiben, für die Matlab eigene Solver zur Verfügung stellt. Dieser Solver errechnet dir allerdings nur den stationären Endwert!

Wenn du die instationäre Berechnung durchführen möchtest, empfehle ich dir, die Gleichung von Hand zu diskretisieren. Dabei ersetze den Differentialquotienten durch Differenzenquotienten (Google zeigt dir, wie). Dadurch erhälst du ein System gekoppelter Differentielgleichungen.

Ich hoffe, das hat dir geholfen?

Gruß!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.