Web-Books
im Austria-Forum
Austria-Forum
Web-Books
Informatik
Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python
Seite - 192 -
  • Benutzer
  • Version
    • Vollversion
    • Textversion
  • Sprache
    • Deutsch
    • English - Englisch

Seite - 192 - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python

Bild der Seite - 192 -

Bild der Seite - 192 - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python

Text der Seite - 192 -

192 6 SolvingNonlinearAlgebraicEquations 1. theslopeequals tof 0.x0/ 2. the tangent touches thef.x/curveatx0 So, ifwewrite the tangent functionas Qf.x/DaxCb,wemust require Qf 0.x0/D f 0.x0/and Qf.x0/Df.x0/, resulting in Qf.x/Df.x0/Cf 0.x0/.x x0/: Thekeystep inNewton’smethod is tofindwhere the tangentcrosses thex axis, whichmeanssolving Qf.x/D0: Qf.x/D0 ) xDx0 f.x0/ f 0.x0/ : This isournewcandidatepoint,whichwecallx1: x1 Dx0 f.x0/ f 0.x0/ : With x0 D 1000, we get x1 500, which is in accordance with the graph in Fig.6.1.Repeating theprocess,weget x2 Dx1 f.x1/ f 0.x1/ 250: Thegeneral schemeofNewton’smethodmaybewrittenas xnC1 Dxn f.xn/ f 0.xn/ ; nD0;1;2;:: : (6.1) The computation in (6.1) is repeated until f .xn/ is close enough to zero. More precisely,we test if jf.xn/j< ,with beingasmall number. We moved from 1000 to 250 in two iterations, so it is exciting to see how fast we can approach the solution x D 3. A computer program can automate the calculations. Our first try at implementingNewton’smethod is in a function naive_Newton: def naive_Newton(f, dfdx, x, eps): while abs(f(x)) > eps: x = x - float(f(x))/dfdx(x) return x Theargumentx is the startingvalue, calledx0 inourpreviousmathematicalde- scription.Weusefloat(f(x)) to ensure that an integerdivisiondoesnothappen byaccident iff(x)anddfdx(x)bothare integers for somex. Tosolve theproblemx2 D9wealsoneed to implement def f(x): return x**2 - 9 def dfdx(x): return 2*x print naive_Newton(f, dfdx, 1000, 0.001)
zurück zum  Buch Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python"
Programming for Computations – Python A Gentle Introduction to Numerical Simulations with Python
Titel
Programming for Computations – Python
Untertitel
A Gentle Introduction to Numerical Simulations with Python
Autoren
Svein Linge
Hans Petter Langtangen
Verlag
Springer Open
Datum
2016
Sprache
englisch
Lizenz
CC BY-NC 4.0
ISBN
978-3-319-32428-9
Abmessungen
17.8 x 25.4 cm
Seiten
248
Schlagwörter
Programmiersprache, Informatik, programming language, functional, imperative, object-oriented, reflective
Kategorie
Informatik
Web-Books
Bibliothek
Datenschutz
Impressum
Austria-Forum
Austria-Forum
Web-Books
Programming for Computations – Python