|
|
|
Anfangswertproblem mit gemessenen (diskreten) Werten |
|
| Silent-Storm |

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 17.01.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.04.2012, 21:22
Titel: Anfangswertproblem mit gemessenen (diskreten) Werten
|
 |
Hallo,
als Matlabneuling stehe ich vor einem wahrscheinlich einfachem Problem, weiß aber nicht wie ich an die Lösung komme.
Ich habe ein klassisches Anfangswertproblem: Ich kenne meinen Zustand zum Startzeitpunkt sowie die Ableitung meines Zustandes . Dabei ist eine Tabelle von Messwerten, also nur zu diskreten Zeitpunkten verfügbar. Ich kann also nur zu den Messzeitpunkten berechnen.
Nun will ich einen solver höherer Ordnung hernehmen, z.B. ode45. Der benötigt ja Zwischenwerte von .
Was ist das beste Vorgehen?
Muss ich aus meinen Messwerten zuerst eine analytische Funktion bilden (Curve Fitting Toolbox)?
Eine lineare Interpolation von meinen Messwerten genügt mir.
Vielen Dank für eure Hilfe.
|
|
|
|
|
|
| Andy386 |

Forum-Guru
|
 |
Beiträge: 485
|
 |
|
 |
Anmeldedatum: 24.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.1/8
|
 |
|
|
 |
|
Verfasst am: 19.04.2012, 10:25
Titel:
|
 |
Du hast doch schon tabellarische Messwerte - das sollte mMn genügen. Was hast du denn schon an Code?
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
|
|
|
|
| Silent-Storm |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 17.01.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.04.2012, 10:50
Titel:
|
 |
Soweit ich es verstanden habe muss ich ode45 ja die "rechte Seite" meiner Dgl mitgeben. Diese ist aber nicht analytisch von t abhängig.
dabei ist t_idx einfach nur eine Laufvariable von 1:end.
Somit kann xdot nur zu den Zeitpunkten der Messwerte u(t_idx) berechnet werden.
Wie muss die Funktion aussehen, dass sie vom Solver ausgewertet werden kann? Da muss ja automatisch noch die stückweise lineare Interpolation dazu, so dass der Solver auch xdot zu den benötigten Zwischenwerten berechnen kann.
Vielen Dank im Voraus.
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.04.2012, 16:45
Titel:
|
 |
Hallo Silent-Storm,
ODE45 benötigt nicht nur eine stetige sondern auch eine glatte Funktion, um sinnvoll arbeiten zu können. Eine lineare Interpolation fällt damit aus, da sie Knicke hat. Und wenn ODE45 einen Schritt über einen solchen Knick hinweg ausführt, spielt die Schrittweitensteuerung logischerweise verrückt.
TRAPZ und CUMTRAPZ eignen sich für die Integration von tabellarischen Werten.
Gruß, Jan
PS. Die Antwort habe ich vor wenigen Minuten schon einmal gegeben. Merkwürdig.
|
|
|
|
|
|
|
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.
|
|