2. F90 - Beispiel

Aufgabenstellung:

Es ist ein Unterprogramm zu entwickeln, das eine Nullstelle eines Polynoms nach folgender Methode berechnet:

Sekantenverfahren

Der Verlauf einer Kurve kann durch die Sekante approximiert werden, d.h.: Ausgehend von einem geeigneten Startwert kann man die Kurve durch ihre Sekante (gegeben durch ein geeignetes Δx) annähern, da die Sekante eine Gerade ist, kann deren Schnittpunkt mit der x-Achse leicht berechnet werden.
Dieser Schnittpunkt wird dann als neuer Startwert verwendet, solange, bis eine vorgegebene Genauigkeit erreicht ist.

Ausgangslage:
Startwert x0 und Δx (und damit x1, y0 und y1)

Iteration:
Die Sekante durch die beiden Punkte (xi,yi) und (xi+1,yi+1) mit xi+1 = xi + Δx läßt sich aus folgender Gleichung berechnen:
yi = a . xi + b
yi+1 = a . xi+1 + b
für den Schnittpunkt xi+2 dieser Gerade mit der x-Achse gilt dann:
a . xi+2 + b = 0 oder anders geschrieben: xi+2 = - b/a

Programmtyp

FUNCTION

Übergabeparameter

Zum Test ist ein geeignetes Hauptprogramm zu schreiben, das die Koeffizienten eines Polynoms 3. Grades (hat immer mindestens 1 Nullstelle) und den Startwert x einliest und als Ergebnis eine Nullstelle (x,y) ausgibt.

Hinweis

Beachten Sie das Problem eines geeigneten Δx zB bei der Funktion y = 5x3 - 3x + 2

Lösung

Hauptprogramm
Fehlerabfrage
Funktionswert
Sekantenverfahren