Ridder’s Method For Solving Linear and Nonlinear Equations

by admin in , , on June 14, 2019

Ridders’ method is a root-finding algorithm based on the false position method and the use of an exponential function to successively approximate a root of a continuous function f(x) . The method is due to C. Ridders.[1][2] Ridders’ method is simpler than Muller’s method or Brent’s method but with similar performance.[3] The formula below converges quadratically when the function is well-behaved, which implies that the number of additional significant digits found at each step approximately doubles; but the function has to be evaluated twice for each step, so the overall order of convergence of the method is Sqrt(2) . If the function is not well-behaved, the root remains bracketed and the length of the bracketing interval at least halves on each iteration, so convergence is guaranteed.

Example On Using This Code

Input

func [email protected](x) x^3 + 5*x - 5;             % Equation we interest to solve
xLow = -50;                           % Lower interval bound
xUpp = 100;                           % Upper interval bound
xZero = rootSolve(func,xLow,xUpp)     % Calling Ridder's Function

Output

xZero = 0.868830020341475
func(xZero) = 0.0

Method

Given two values of the independent variable, x_(0) and x_(2), which are on two different sides of the root being sought, i.e., f(x_(0)) . f(x_(2)) < 0, the method begins by evaluating the function at the midpoint x_(1) = (x_(0) + x_(2)) / 2. One then finds the unique exponential function e^(ax) such that function

satisfies

Specifically, parameter a is determined by

The false position method is then applied to the points (x_(0), h(x_(0))) and (x_(2), h(x_(2))), leading to a new value x_(3) between x_(0) and x_(2),

which will be used as one of the two bracketing values in the next step of the iteration. The other bracketing value is taken to be x_(1) if  f(x_(1)) . f(x_(3)) < 0 (well-behaved case), or otherwise whichever of x_(0) and x_(2) has function value of opposite sign to f(x_(3)). The procedure can be terminated when a given accuracy is obtained.

References

  1. Ridders, C. (1979). “A new algorithm for computing a single root of a real continuous function”. IEEE Transactions on Circuits and Systems26: 979–980. doi:10.1109/TCS.1979.1084580.
  2. Kiusalaas, Jaan (2010). Numerical Methods in Engineering with Python (2nd ed.). Cambridge University Press. pp. 146–150. ISBN 978-0-521-19132-6.
  3. Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). “Section 9.2.1. Ridders’ Method”Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.

0 Sale

Share Now!

Release Information

  • Price
    :

    $3.99

  • Released
    :

    June 14, 2019

  • Last Updated
    :

    January 16, 2020

Share Your Valuable Opinions