Numerical
Searching Method - Secant Method

Secant
method, unlike the Newton-Ralphson method, does not require the
differentiation of the equation in question. Because of that, it
can be used to solve complex equations without the difficulty that one
might have to encounter in trying to differentiate the equations.
Secant method requires two initial values. Test shows that this
method converge a little bit slower than the Newton-Ralphson method.

The example below demostrates the application using Secant method to solve for 2 equations (both equations are set to zero) individually. I purposely make the first equation slightly more complicated since there is no need to differentiate the equation under this method. The first equation has one root (outcome) and the second has two (see the charts). The method returns -1.59488 as the value of the root for the first equation. We then plug this value into the equation in cell D13 for checking and get a value of zero - just as what we should be getting. It takes 8 steps (loops or iterations) to converge.

Since equation 2 has two roots, we need to run the search precedure twice - one for each of the first root and the second root. By setting the initial value of 1 for first root search precedure, the precudure converges after 10 steps and returns a velue of 0.48095. The initial vlaue of the second root is set to -1 and the search precedure converges after 5 steps with a returned value of 0. Both returned values are then plug into equation 2 for checking and both checks return zero - indicates that the results are correct.

The example below demostrates the application using Secant method to solve for 2 equations (both equations are set to zero) individually. I purposely make the first equation slightly more complicated since there is no need to differentiate the equation under this method. The first equation has one root (outcome) and the second has two (see the charts). The method returns -1.59488 as the value of the root for the first equation. We then plug this value into the equation in cell D13 for checking and get a value of zero - just as what we should be getting. It takes 8 steps (loops or iterations) to converge.

Since equation 2 has two roots, we need to run the search precedure twice - one for each of the first root and the second root. By setting the initial value of 1 for first root search precedure, the precudure converges after 10 steps and returns a velue of 0.48095. The initial vlaue of the second root is set to -1 and the search precedure converges after 5 steps with a returned value of 0. Both returned values are then plug into equation 2 for checking and both checks return zero - indicates that the results are correct.

The first chart below shows the function line intercepts the x-axis ( f(x)=0 ), at approximate -1.6. The seconds chart shows the function line (curve) inptercepts the x-axis twice, at around 0.5 and 0.

* Complete program (with open source codes) available in Package Set 3 and the Combo Package.