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

Gekoppelte Differentialgleichungen - ode45

 

AI
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 21.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.11.2008, 20:53     Titel: Gekoppelte Differentialgleichungen - ode45
  Antworten mit Zitat      
Hallo zusammen,

bin neu im Forum und wie solls auch anders sein, ich habe zu Beginn direkt ein Problem. Leider habe ich keine Vorstellung davon, ob das Problem simpel oder doch nur mit viel Aufwand zu lösen ist.

Code:

[t,y] = ode45('Funktion',tspan,y0,[],skalar,vektor1,vektor2);
 


In Funktion.m befindet sich neben der DGL dy noch 3 weitere DGLen, die ich direkt als System lösen lasse und die in jedem Diskretisierungsschritt zur Lösung der DGL dy neu ausgewertet werden müssen, sprich ein gekoppeltes System.

Meine Idee war jetzt, dass ich in y0 die Anfangswerte für die DGL dy und die DGLen dx als einen gemeinsamen Vektor übergebe. Nun hätte ich gedacht, dass das prima funktioniert, aber es kommt nicht das gewünschte Ergebnis heraus.

Übrigens sind die Parameter "skalar, vektor1, vektor2" zur Berechnung der DGLen dy und dx in Funktion.m notwendig, aber ich denke nicht, dass an der Stelle ein Problem besteht.

Es liegt vielmehr daran, dass ich nur einen ode45-Aufruf habe und dieser die drei DGLen dx und die eine DGL dy parallel in jedem Schritt t lösen soll.

Bevor ich hier dieses Thema zu sehr aufblähe, insbesondere mit unnötigem Quellcode, wäre es vielleicht vorteilhafter, wenn ihr mir sagt, was ihr für eine bessere Vorstellung des Problems an Code oder mehr Erläuterung benötigt.


An dieser Stelle vielen Dank für das Lesen.

PS: Über die Suchfunktion habe ich unter verschiedenen Begriffen nur ein Thema bekommen, was mir aber nicht weiterhelfen konnte. Gut möglich, dass irgendwo die Antwort liegt, aber ich musste bei meiner Suche immer abstrakter werden bzw. mir fiel kein passender Begriff mehr ein.
Private Nachricht senden Benutzer-Profile anzeigen


AI
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 21.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2008, 13:01     Titel:
  Antworten mit Zitat      
Ich habe das Problem gelöst.

Der obige Aufruf von ode45 ist richtig. Mein Problem bestand darin, dass ich zunächst die drei DGLen dx in Funktion.m seperat gelöst habe und diese Lösung für dy verwenden wollte.

Die Lösung besteht nun darin einen gemeinsamen Vektor mit allen DGLen innerhalb der Funktion.m zu erstellen, selbst wenn diese sich unterscheiden.

Code:

ydot=[dy; dx];
 


Schließlich habe ich auch die Anfangswerte als einen gemeinsamen Vektor y0 übergeben.

Ich hoffe, ich konnte damit anderen helfen.
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.