Verfasst am: 18.09.2011, 13:22
Titel: Springen zwischen mehreren Nullstellen verhindern
Hallo,
ich habe folgendes Problem:
ich habe eine transzendente Gleichung, die von zwei Variablen abhängt. Für ein festes Intervall der ersten Variable soll dabei die Nullstelle in Abhängigkeit der ersten Variable bestimmt werden, sodass beide Variablen eine Nullstelle der transzendenten Gleichung darstellen.
Ich habe nun für den Randwert der ersten Variable die dazugehörigen ersten fünf Nullstellen (zweite Variable) berechnet und ausgehend von denen die Bestimmung der Nullstellen (zweiten Variable) in Abhängigkeit des festen Intervalls interativ berechnet.
Die Plots geben theoretisch die richtigen Kurven aus, nur mein Problem ist, dass einige Nullstellen so nah beieinander liegen bzw. sich auf dem Intervall der ersten Variable schneiden, dass zwischen den Nullstellen gesprungen wird.
Wie kann man das verhindern bzw. was kann man machen, damit man fünf voneinander unabhängige Kurven erhält?
Hallo,
nein, der zweite Kommentar bezieht sich auf den ersten.
Mein Problem ist nach wie vor dadurch gegeben, dass ich nicht fünf voneinander unabhängige Kurven erhalte für Nullstellen nu in Abhängigkeit von rho von f(rho,nu).
Man sieht dem Plot an, dass an einigen Stellen von rho zwischen zwei oder drei Nullstellen von nu gesprungen wird, für rho in [1.4, 1.6] kann man die unabhängigen fünf Kurven erkennen.
Wie kann ich das in Verbindung mit dem fzero - Befehl verhindern?
Hallo,
danke für den Tipp, nur leider erhalte ich mehr oder weniger dasselbe Problem wie beim fzero-Befehl. Bei der ersten Nullstelle gibt es kein Problem, sie wird als stetige Kurve geplottet.
Da die anderen vier Nullstellen aber für rho kleiner immer näher beieinander liegen und sich sogar überschneiden und da f eine unendliche Folge von Nullstellen hat, die sich bei nu->pi/2 häufen, gibt es scheinbar Probleme bei der numerischen Approximtion, sodass es dazu kommen kann, dass der Nullstellenzweig gewechselt wird.
Habt ihr noch andere Ideen oder ist die Aufgane mit Matlab nicht zu bewerkstelligen?
was die Genauigkeit angeht, kannst du TolX oder TolFun weiter heruntersetzen.
Ansonsten: du musst als Programmierer Vorgaben machen, welcher Startwert oder welches Intervall für die Nullstellensuche verwendet werden soll. Wenn du das nicht machen kannst, wird dir vermutlich auch eine andere Software nicht weiterhelfen.
Grüße,
Harald
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
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.