|
|
Nullstellensuche via Bisektion funktioniert nicht (immer) |
|
Legovogel1337 |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 08.04.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.04.2019, 17:23
Titel: Nullstellensuche via Bisektion funktioniert nicht (immer)
|
|
|
|
|
Hallo Leute, hab mich extra hier angemeldet weil ich den Fehler in meinem Script nicht finde.
Ich muss für eine Uni-Hausaufgabe etwas schreiben, dass in einem Intervall a:b nach einer Nullstelle bei f(x)=gamma(x)-3 sucht. Dazu soll ich ein Script schreiben, das eine Funktion (die ich im Anschluss in ein eigenes Script schreiben sollte) aufruft, die ein Function Handle mit o.a. f(x) sowie a und b als Intervallgrenzen übergeben bekommt. Die Funktion soll dann mittels Bisektion nach irgendeiner Nullstelle suchen. Zuletzt soll ein Plot angefertigt werden und die Nullstelle mit einem Marker gekennzeichnet werden.
Ich spiele mich jetzt schon seit einer Woche mit meinem Script, und immer wenn ich ein Intervall teste und ein richtiges Ergebnis bekomme finde ich kurz darauf raus, dass es für andere Intervalle nicht funktioniert. Weil ich nicht mehr weiter weiß bitte ich euch um eure Hilfe!
Das rufende Script ist irrelevant, das funktioniert. Hier der Code, der mir Kopfzerbrechen bereitet:
Ich danke euch vielmals, ich kann schon nicht mehr
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.04.2019, 17:48
Titel:
|
|
Hallo,
versuch doch mal mit dem Debugger Schritt für Schritt durchzugehen. Was anderes würde ich auch nicht machen. Dazu wäre dann allerdings ein Intervall hilfreich, das Probleme bereitet.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Legovogel1337 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 08.04.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.04.2019, 11:21
Titel:
|
|
Hallo Harald und danke für deine Antwort
Das mit dem Debugger mache ich eh ständig. Das Problem hier ist, dass an irgendeinem Punkt "abstand" den Wert Inf annimmt, und dann eine Endlosschleife daraus wird. Warum abstand allerdings Inf wird, verstehe ich nicht.
Ein konkretes Intervall, in dem es funktioniert ist: [-6 -4.5]
Nicht funktionieren tut es zB bei: [-7 -4.5] und [-8, -2.7]
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.04.2019, 17:06
Titel:
|
|
Hallo,
beide Intervalle enthalten Unstetigkeiten. Das ist keine gute Idee für die Nullstellensuche.
Insbesondere:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Legovogel1337 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 08.04.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.04.2019, 17:16
Titel:
|
|
Danke, dann liegt es nicht am Script sondern an der Funktion. Hab eine Abfrage für die Unstetigkeit eingebaut und hoffe dass dem Professor das reicht. Dankeschön für deine Hilfe!
LG Lego
|
|
|
|
|
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 - 2024
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.
|
|