Although the Newton-Raphson method is very powerfull to solve non-linear equations, evaluating of the function derivative is the major difficulty of this method. To overcome this deficiency, the secant method starts the iteration by employing two starting points and approximates the function derivative by evaluating of the slope of the line passing through these points. The secant method has been shown in Fig. 1. As it is illustrated in Fig. 1, the new guess of the root of the function f(x) can be found as follows:
In the following table, each line/entry contains the program file name and a brief description. Click on the program name to display the source code, which can be downloaded. Chapter 1: Mathematical Preliminaries and Floating-Point Representation. Secant for particular equation; Program to read a Non-Linear equation in one variable. Fortran Numerical Analysis Programs. Write a Fortran program to. Fortran Numerical Analysis Programs. = 3 x + sin x − e x using Secant method in the interval. Write a Fortran program to find first derivation of the.: Orthogonal polynomials generator.
Fig. 1.The secant method
In the first glance, the secant method may be seemed similar to linear interpolation method, but there is a major difference between these two methods. In the secant method, it is not necessary that two starting points to be in opposite sign. Therefore, the secant method is not a kind of bracketing method but an open method. This major difference causes the secant method to be possibly divergent in some cases, but when this method is convergent, the convergent speed of this method is better than linear interpolation method in most of the problems.
The algorithm of the secant method can be written as follows:
Step 1: Choose two starting points x0 and x1.
Step 2: Let
Step 3: if |x2-x1|<ethen let root = x2, else x0 = x1 ; x1 = x2 ; go to step 2.
Step 4: End.
e: Acceptable approximated error.
oBisection Method
oLinear Interpolation Method
oModified Methods
oNewton-Raphson Method
oOne point Interpolation Method
Secant method is an iterative tool of mathematics and numerical methods to find the approximate root of polynomial equations. During the course of iteration, this method assumes the function to be approximately linear in the region of interest.
Although secant method was developed independently, it is often considered to be a finite difference approximation of Newton’s method. But, being free from derivative, it is generally used as an alternative to the latter method.
Academia.edu is a platform for academics to share research papers.
Previously, we talked about secant method vis-à-vis C program and algorithm/flowchart for the method. Here, we’ll go through a program for Secant method in MATLAB along with its mathematical background and a numerical example.
Mathematical Derivation of Secant Method:
Consider a curve f(x) = 0 as shown in the figure below:
Secant method estimates the point of intersection of the curve and the X- axis (i.e. root of the equation that represents the curve) as exactly as possible. For that, it uses succession of roots of secant line in the curve.
Fortran Program For Secant Method Numerical Methods
Assume x0 and x1 to be the initial guess values, and construct a secant line to the curve through (x0, f(x0)) and (x1, f(x1)). The equation of this secant line is given by:
If x be the root of the given equation, it must satisfy: f(x) = 0 or y= 0. Substituting y = 0 in the above equation, and solving for x, we get:
Now, considering this new x as x2, and repeating the same process for x2, x3, x4, . . . . we end up with the following expressions:
This is the required formula which will also be used in the program for secant method in Matlab.
Advantages of Secant Method over other Root Finding Methods:
- Its rate of convergence is more rapid than that of bisection method. So, secant method is considered to be a much faster root finding method.
- In this method, there is no need to find the derivative of the function as in Newton-Raphson method.
Limitations of Secant Method:
- The method fails to converge when f(xn) = f(xn-1)
- If X-axis is tangential to the curve, it may not converge to the solution.
Secant Method in MATLAB:
4 8 12 16 | x(1)=input('Enter first point of guess interval: '); x(2)=input('Enter second point of guess interval: '); fori=3:1000 x(i)=x(i-1)-(f(x(i-1)))*((x(i-1)-x(i-2))/(f(x(i-1))-f(x(i-2)))); iteration=iteration |
In this program for secant method in Matlab, first the equation to be solved is defined and assigned with a variable ‘a’ using inline( ) library function. Then, the approximate guess values and desired tolerance of error are entered to the program, following the MATLAB syntax.
The program uses the secant formula (aforementioned in the mathematical derivation) to calculate the root of the entered function. Wifiway how to crack wep wifi. Here’s a sample output of the above MATLAB code for secant method:
Secant Method Numerical Example:
Lets perform a numerical analysis of the above program of secant method in MATLAB. The same function f(x) is used here; x0 =0 and x1 = -0.1 are taken as initial approximation, and the allowed error is 0.001.
Here,
f(x) = cos(x) + 2 sin(x) + x2
x0 = 0
x1 = -0.1
Secant Method On Youtube
For first iteration,
Fortran Program For Secant Method Numerical Expressions
f(x1) = cos(-0.1) + 2 sin(-0.1) + ( -0.1 )2 = 0.8053 and
f(x0) = cos0 + 2 sin0 + 02 = 1
As we know,
Secant Method Pdf
x2 = x1 – f(x1)
x2 = 0 + 0.8053 * (-0.1-0)/(0.8053-1)
x2 =0.4136
Similarly, x3 = – 0.5136, and so on…
The complete calculation and iteration of secant method (and MATLAB program) for the given function is presented in the table below:
Thus, the root of f(x) = cos(x) + 2 sin(x) + x2 as obtained from secant method as well as its MATLAB program is -0.6595.
Check: f(-0.6585) = cos(-0.6585) + 2 sin(-0.6585) + (-0.6585)2 = 0.0002 (OK).
If you have questions regarding secant method or its MATLAB code, bring them up from the comments section. You can find more Numerical methods tutorial using MATLAB here.
SECANT METHODThe Newton-Raphson algorithm requires the evaluation of twofunctions (the function and its derivative) per each iteration. If theyare complicated expressions it will take considerable amount of effortto do hand calculations or large amount of CPU time for machine calculations.Hence it is desirable to have a method that converges (please see the sectionorder of the numerical methods for theoretical details) as fast as Newton'smethod yet involves only the evaluation of the function. Letx 0 and x 1 are two initial approximations for theroot 's' of f(x) = 0 and f(x 0) & f(x 1) respectively,are their function values. If x 2 is the point of intersectionof x-axis and the line-joining the points (x 0, f(x 0))and (x 1, f(x 1)) then x 2 is closer to 's'than x 0 and x 1. The equation relating x 0,x 1 and x 2 is found by considering the slope 'm'm =f(x 1) - f(x 0)f(x 2) - f(x 1)0 - f(x 1)x 1 - x 0x 2 - x 1x 2 - x 1x 2 - x 1 =- f(x 1). (x 1-x 0)f(x 1) - f(x 0)x 2 = x 1 -f(x 1).
(x 1-x 0)f(x 1) - f(x 0)or in general the iterative process can be written asx i+1= x i -f(x i). (x i - x i-1)i = 1,2,3.f(x i) - f(x i-1)This formula is similar to Regula-falsi scheme of root bracketingmethods but differs in the implementation. The Regula-falsi method beginswith the two initial approximations 'a' and 'b' such that a 0 respectively. On the other handsecant method starts with two initial approximation x 0 and x 1(they may not bracket the root) and then calculates the x 2 bythe same formula as in Regula-falsi method but proceeds to the next iterationwithout bothering about any root bracketing.Algorithm - Secant MethodGiven an equation f(x) = 0Let the initial guesses be x 0 and x 1Dox i+1= x i -f(x i). (x i - x i-1)i = 1,2,3.f(x i) - f(x i-1)while (none of the convergence criterion C1 or C2 is met).C1. Fixing apriori the total number of iterations N.C2.