|
|
Nichtlineare DGL's mit zwei Parametern |
|
harry |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 09.01.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.01.2008, 10:17
Titel: Nichtlineare DGL's mit zwei Parametern
|
|
Hallo Leute,
ich habe folgendes Problem und hoffe,dass ihr mir weiterhelfen könnt:
Ich habe 9 nichtlineare Differentialgleichungen mit zwei Parametern,die ich hier A und B nenne, mit ode15s berechnen lassen,wobei zunächst A=B=0 ist. Als Ergebnis bekomme ich meinen x-Vektor.
Bis hierher ist alles ok.
Mein Problem ist nun: ich möchte die Parameter A und B, welche Skalare sind, jeweils in einem Intervall zw. 0 und 10^2 ( sagen wir in 10-er Schritten) laufen lassen und die Differentialgleichungen, bei jedem Schritt, somit neu berechnen,so dass ich meine neuen x-Vektoren bekomme.
Wie mache ich das am einfachsten und wie stell ich dann die neuen Vektoren zu einer Matrix zusammen?
Vielen Dank schonmal
Grüßle,
Harry
|
|
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 09.01.2008, 10:42
Titel:
|
|
Hallo Harry,
ich denke, am einfachsten geht das mit einer nested function. Dafür muss dein Code, der den ode15s-Befehl enthält, eine Funktion sein, in der dann die DGL wiederum als Funktion steht. Damit kann man in einer Schleife die Parameter A und B neu setzen, und sie verändern sich dadurch auch in der DGL, ohne dass sie als globale Variablen deklariert sein müssen. Also ungefähr so:
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
harry |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 09.01.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.01.2008, 09:18
Titel:
|
|
hallo Bijick ,
vielen Dank für deine schnelle Antwort.
leider klappt die Zusammenfassung der Vektoren zu einer Matrix nicht und ich weiß leider auch nicht, woran das liegen könnte.du vielleicht?
Danke, grüßle
Harry
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 10.01.2008, 09:39
Titel:
|
|
Hallo Harry,
das könnte daran liegen, dass in jeder DGL unterschiedlich viele Zeitschritte gerechnet werden, sodass die Vektoren unterschiedliche Längen haben. Versuch's mal so:
Eine andere Möglichkeit ist, erst mal in ein cell array zu speichern, also
Der Vorteil liegt darin, dass eine Matrix bei unterschiedlichen x-Längen mit Nullen aufgefüllt wird, während im cell array nur genau die Lösungen der DGL stehen. Je nachdem, wie du die Werte weiterverwenden willst, und ob die Lösungen selbst auch Nullwerte enthalten können, biete sich der eine oder andere Datentyp an.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
harry |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 09.01.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.01.2008, 09:50
Titel:
|
|
hallo Bijick,
wär's dann nicht besser,wenn ich vorab die Zeitschritte begrenze, damit ich hinterher Vektoren gleicher Länge bekomme?
grüßle
Harry
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 10.01.2008, 09:57
Titel:
|
|
Hallo Harry,
das kommt auf Deine DGL an. Auf die Schnelle kann ich nicht sogen, ob es eine Option gibt, mit der man die exakte Anzahl der Zeitschritte vorgeben kann, ohne die Zeitpunkte selbst im tspan anzugeben. Wenn Du also die Zeitpunkte für alle DGLs vorgeben kannst, weil Du sie gut kennst, ist das eine gute Möglichkeit. Aber vor dem cell array musst Du auch keine Angst haben, damit kann man wirklich auch gut weiterarbeiten.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
harry |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 09.01.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.01.2008, 10:05
Titel:
|
|
Okay, herzlichen Dank Bijick
grüße
Harry
|
|
|
|
|
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.
|