Regula Falsi < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:37 Mo 19.05.2014 | Autor: | David90 |
Aufgabe | Schreibe eine Funktion regulafalsi(f,a,b,tol) welche eine Nullstelle der Funktion f im Interval [a,b] mit der Regula Falsi berechnet. Die Iteration soll wiederholt werden, solange der Abstand zweier aufeinanderfolgender Iterationswerte größer als tol=0,01 ist. Berechne so die kleinste positive Nullstelle der Funktion f(x)=1+cos(x)*cosh(x) mit Regula Falsi auf zehn Stellen genau. |
Hallo Leute,
also ich habe zuerst die Funktion f(x) geplottet, um geeignete Startwerte für a und b zu finden. Ich hab erkannt, dass die kleinste positive Nullstelle zwischen 1 und 2 liegt, also habe ich a=1 und b=2 definiert. Mein Problem liegt irgendwie in der Übergabe der Funktion f(x). Muss ich nicht vorher einen Vektor x im Hauptprogramm definieren, bevor ich f(x) an regulafalsi übergebe?
Viele Grüße
|
|
|
|
Mich würde interessieren, wie du die Funktion geplottet hast, ohne einen Vektor x zu definieren, kannst du mal den Befehl dazu aufschreiben? Oder gleich am besten, wie du die Funktion definiert hast.
Zu deiner Frage: Du wertest die Funktion anfangs an den Intervallgrenzen aus, die weiteren Stellen ergeben sich dann jeweils nach dem Iterationsschritt.
Was mich ein bissl stutzig gemacht hat waren die beiden Abbruchkriterien. Sollst du jetzt die Iteration so lange ausführen, bis entweder [mm] tol < 0.01[/mm] oder bis du die Genaugkeit von 10 Nachkommastellen erreicht hast? Hätte es jetzt so aufgefasst, dass du auf 10 Nachkommastellen berechnen sollst, aber MAXIMAL so lange, wie [mm] tol > 0.01[/mm]. Ist aber wohl interpretationssache.
|
|
|
|