Abstract

To solve a nonlinear equation f(x)=0 numerically means a repetitive operation x=g(x) hoping each time that f(g(x))=0. Let z be a root (zero) of f and a fixed point of g so that f(z)=0 and z=g(z). Consider two points in the xf-plane: K(x,f) and G(g,0). The slope of line KG is m=f/(x-g). So, iterators in the form g(x)=x+h,h=-f(x)/m(x) attempt solution by linearization of f whereby G approximates Z(z,0) and KG is a substitute for f. A common example is Newton’s method where m is f′ and KG is a tangent. After a theoretical background, this article provides a short and ready-to-use Matlab function lin2f0 which receives x, f, a number of its derivatives, a small h and a tiny tol as arguments, enters Koçak’s double linearization loop to repeat m=-f/h, g=x+h-f(x+h)/m(x+h), and h=g-x while |f(x+h)|>tol, and returns converged g. If f(g) is unsatisfactory, lin2f0 may be re-entered after updating x, f and derivatives. One call with sufficient number of (small) derivatives guarantees that this g is the first z in the direction of h. Tests including a case of a multiple root show that this robust solver works superbly where others fail. Note that lin2f0 linearizes f twice for each h; once at x and once at x+h.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.