|
|
Diffgleichung in Matlab lösen |
|
zizz |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.06.2011, 20:44
Titel: Diffgleichung in Matlab lösen
|
 |
Hallo!
Ich bräuchte Hilfe bei folgender Aufgabenstellung:
Lösen Sie die Riccati-Gleichung y'(t)=t^2+y^2, y(0)=-4, für 0 < t > 2 in Matlab mit einer geeigneten Routine.
Ich denke die Funktion ode15s wäre eine Möglichkeit diese Gl. zu lösen.
Weiß aber nicht wie ich das angehen soll.
Wäre über jede Hilfe dankbar.
Habe die Frage sonst in keinem anderem Forum gestellt.
|
|
|
|
|
Georg J |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.06.2011, 23:08
Titel: ode solver
|
 |
Hi,
Ich würde den ode45 Solver nehmen, da dieser normalerweise die besten Ergebnisse erzielt.
Du brauchst eine Funktion, welche die Ricatti-Gleichung beinhaltet.
Be Bedarf gibst du noch die Solver-Optionen vor und rufst dann den Solver auf mit als Parameter die Ricatti-Funktion, den Startwert und das eitinterval.
Das @-Zeichen ist ein Verweis-Zeichen auf die zu lösende Funktion.
Gruss, Georg
|
|
|
zizz |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 00:10
Titel:
|
 |
Vielen Dank für Deine Antwort!
Da ich mich in Matlab nicht so gut auskenne, habe ich noch eine Frage:
Wenn ich das Programm ausführen möchte, erscheint: Input argument "t" is undefined. Woran könnte das liegen?
|
|
|
Georg J |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 12:02
Titel: diff gleichung
|
 |
Ich frage mich nun, was du versuchst auszuführen. Ich vermute, dass du einfach alles in ein File kopiert hast. Aber das wäre falsch.
Du musst eine Datei speichern, die ricatii.m heist. Da packst du die Definition der Ricatti-Gleichung rein, also
Dies ist eine Funktion.
Dann machst du ein zweites file (ein so genanntes Skript) und nennst es wie du willst. Darin kopierst du den Aufruf des Solvers.
Bei einem Skript werden die Befehle nacheinander ausgeführt. Du könntest sie auch in den Command Promt eingeben. Eine Funktion hingegen, benötigt Input-Variablen und kann Werte zurückgeben.
Um das Programm zu starten, musst du nun das Skript ausführen.
Gruss, Georg
|
|
|
Georg J |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 12:05
Titel: Nachtrag
|
 |
Ich hab einen Schreibfehler gemacht.
Die Funktion muss natürlich nicht als ricatii.m, sondern als ricatti.m abgespeichert werden. Filename und Funktionenname müssen übereinstimmen, sonst funktioniert es nicht.
Das Skript und die Funktion sollten im gleichen Verzeichnis liegen.
Viel Spass.
Georg
|
|
|
zizz |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 13:17
Titel:
|
 |
Das habe ich anscheinend missverstanden.
Vielen Dank, Georg!
|
|
|
|
|
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.
|
|