|
|
Kraft in DGL abhängig von Zeitschritt des ode-Löser...? |
|
tud |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.03.2010, 14:14
Titel: Kraft in DGL abhängig von Zeitschritt des ode-Löser...?
|
 |
Ich habe eine lineare DGL. Auf der rechten Seite ist eine Kraft die abhängig von der Größe des Zeitschritts des ode-Lösers ist. Wie kann ich das über einen ode-löser meinem Skript zur Berechnung der Kraft mitteilen?
Der ode-Löser greift in einer Schleife mehrmals auf das Skript zur Berechnung der Kraft zu. Kann man sich den Zeitpunkt ausgeben lassen, an dem der ode-Löser in der Zeit fortgeschritten ist?
Ich habe schon mehrere Löser ausprobiert, schaff es aber nicht die Kraft korrekt zu berechnen.
Über Tipps würde ich mich freuen.
Gruß
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.03.2010, 14:34
Titel:
|
 |
Hallo,
ein ODE-Löser erwartet als rechte Seite ein Function Handle auf eine Funktion der Form
t ist dabei die Zeit. Du müsstest sie also nur verwenden.
Falls das nicht hilft, poste doch vielleicht ein konkretes Beispiel.
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.03.2010, 15:02
Titel:
|
 |
Danke für die schnelle Anwort.
Meine rechte Seite sieht so aus:
In RS steht wiederrum die Vorschrift zur Berechnung der Kraft. zeitschritt ist die größe des Zeitschritts. Die Kraft bekomme ich aus einem externen Programm. Es handelt sich dabei um einen potentialtheoretischen Strömungslöser. Dieser berechnet die Kraft in Abhängigkeit von der Größe des Zeitschritts und deren "Geschichte". Wie könnte man das korrekt implementieren?
Vielen Dank schonmal.[/code]
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.03.2010, 16:47
Titel:
|
 |
Ah, das hatte ich etwas falsch verstanden.
Die Länge des Zeitschritts lässt sich in der Tat nicht ohne weiteres verwenden. Mich erstaunt allerdings die Anwendung, da die Ableitung an einem Punkt in der Regel ja höchstens vom Zeitpunkt, nicht aber von der Länge des Zeitschritts abhängt.
Vielleicht lohnt es sich da, die Anwendung noch einmal zu überdenken.
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.03.2010, 18:21
Titel:
|
 |
Gibt es denn in Simulink solche Möglichkeiten? Oder arbeitet Simulink direkt mit den ode-Lösern, so dass man nicht wirklich mehr Probleme solcher Art lösen kann?
Grüße
|
|
|
Titus |

Forum-Meister
|
 |
Beiträge: 871
|
 |
|
 |
Anmeldedatum: 19.07.07
|
 |
|
 |
Wohnort: Aachen
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.04.2010, 12:16
Titel:
|
 |
Hallo,
hmm, in der Tat merkwürdig, dass der Zeitschritt eingeht. Das kann eigentlich nur den Grund haben, dass in der RS Funktion eine diskrete Ableitung berechnet wird. Diese sollte aber besser dann auch als Differentialgleichung formuliert werden.
Ein Versuch ist es wert, könnte aber unstabil sein: Du könntest den Zeitschritt ja leicht messen über
Ciao,
Titus
|
|
|
kepler |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 30.01.13
|
 |
|
 |
Wohnort: Darmstadt
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 31.01.2013, 17:08
Titel:
|
 |
Hallo liebe MATLAB-Gemeinde,
ich krame diesen alten Thread mal aus, weil ich derzeit vor genau dem gleichem Problem stehe.
In dem Anfangswertproblem (welches mit ode15s gelöst wird) steckt eine Subroutine. Und in dieser wiederum steht die zeitliche Ableitung einer Größe, für die ich wiederum den Zeitschritt bräuchte.
Macht man es so wie Titus es vorschlägt, sind negative Zeitschritte dabei, weil der Solver wohl ab und an zu einen Zeitschritt zurück geht. Ob das so vielversprechend ist weiss ich nicht (evtl. könnte man sich die letzten 5 oder 10 Zeitpunkte speichern, so dass irgendwann ein Zeitschritt positiv ist).
Einen festen Zeitschritt irgendwie erzwingen will ich nur ungern.
Hat vielleicht noch jemand eine andere Idee?
Grüße
kepler
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 31.01.2013, 18:50
Titel:
|
 |
|
 |
|
Hallo kepler,
Auf jeden Fall bleibt bei der Integration mit einem ODE Solver ein prinziplielles Problem: Die Solver wurden für eine glatte rechte Seite konstruiert. Der Schrittweiten-Schätzer kann vollkommen scheitern, wenn die rechte Seite Diskontinuitäten aufweist. Und die Zeitschritte können nicht nur negative sein, wenn z.B. die Kontrolle des lokalen Fehlers einen Schritt verwirft, die rechte Seite wird auch noch für jeden Schritt mehrfach ausgewertet.
Matlab's ODE Solver mit Schrittweiten-Kontrolle, z.B. ODE45, sind also prinzipiell nicht zur Integration solcher Funktionen geeignet und die Verwendung führt zu sehr fragwürdigen "Ergebnissen", die man eigentlich nicht mehr als solche bezeichnen kann.
Wenn die rechte Seite wirklich von einem Zeitintervall abhängt kommt man um einen Integrator mit fester Schrittweite nicht herum. Man kann sich natürlich eine angepasste Version programmieren, die lokal die Schrittweite anhand der Diskretisierungsfehler verändert. Aber das ist nicht trivial.
Gruß, Jan
|
|
|
kepler |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 30.01.13
|
 |
|
 |
Wohnort: Darmstadt
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 01.02.2013, 17:57
Titel:
|
 |
Hm, schade :/
Aber vielen Dank für den Hinweis. Werde es mal mit einem (selbst geschriebenem) impliziten Euler probieren.
Gruß
kepler
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|