Seite - 189 - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Band Second Edition
Bild der Seite - 189 -
Text der Seite - 189 -
7.3 TheSecantMethod 189
Fig. 7.2 Illustrates theuseofsecants inthesecantmethodwhensolvingx2−9=0,x∈[0,1000].
From two chosen starting values, x0 = 1000 and x1 = 700 the crossing x2 of the corresponding
secant with thex axis is computed, followed by a similar computation ofx3 fromx1 andx2
iteration_counter = 0
while abs(f_x1) > eps and iteration_counter < 100:
try:
denominator = (f_x1 - f_x0)/(x1 - x0)
x = x1 - f_x1/denominator
except ZeroDivisionError:
print(’Error! - denominator zero for x = ’, x)
sys.exit(1) # Abort with error
x0 = x1
x1 = x
f_x0 = f_x1
f_x1 = f(x1)
iteration_counter = iteration_counter + 1
# Here, either a solution is found, or too many iterations
if abs(f_x1) > eps:
iteration_counter = -1
return x, iteration_counter
if __name__ == ’__main__’:
def f(x):
return x**2 - 9
x0 = 1000; x1 = x0 - 1
solution, no_iterations = secant(f, x0, x1, eps=1.0e-6)
if no_iterations > 0: # Solution found
Programming for Computations – Python
A Gentle Introduction to Numerical Simulations with Python 3.6, Band Second Edition
- Titel
- Programming for Computations – Python
- Untertitel
- A Gentle Introduction to Numerical Simulations with Python 3.6
- Band
- Second Edition
- Autoren
- Svein Linge
- Hans Petter Langtangen
- Verlag
- Springer Open
- Datum
- 2020
- Sprache
- englisch
- Lizenz
- CC BY 4.0
- ISBN
- 978-3-319-32428-9
- Abmessungen
- 17.8 x 25.4 cm
- Seiten
- 356
- Schlagwörter
- Programmiersprache, Informatik, programming language, functional, imperative, object-oriented, reflective
- Kategorie
- Informatik