Secant method is used for finding root of the function in given interval.
Algorithm:
IN: Function f, which is continous function and interval [a,b]. Function must satisfy given equation: f(a) * f(b) < 0 - signs of that values are different, which means that given function in given interval has at least one root in interval [a,b]. OUT: Root in given interval. 1. Make xn1 = a, xn = b, x = xn1. 2. Check if abs(f(x)) < precision. 3. If it is end algorithm and return x. 4. Make x = xn - ((f(xn) * (xn - xn1)) / (f(xn) - f(xn1))). 5. Make xn1 = xn and xn = x. 6. Go to step 2.
Sample Output:
f(x) = x * (x + 2) -1 [-3, 0] root: -2.414201183431953
Chord Method Step By Step
Iteration Number | a | b | xn1 | xn | x | f(x) |
---|---|---|---|---|---|---|
1 | -3 | -1 | -3 | -1 | -3 | 2 |
2 | -3 | -1 | -1 | -2 | -2 | -1 |
3 | -3 | -1 | -2 | -3 | -3 | 2 |
4 | -3 | -1 | -3 | -3 | -2.333 | -0.2222 |
5 | -3 | -1 | -3 | -2.333 | -2.4 | -0.04 |
6 | -3 | -1 | -2.333 | -2.4 | -2.41 | 0.00118 |
7 | -3 | -1 | -2.4 | -2.41 | -2.414 | -6.007E-6 |
Pros:
- easy to implement.
- faster thanĀ bisection method.
- no need to calculate derivative of given function.
- upgraded version of chord method.
Cons:
- has trouble with some functions.
- initial approximations are not accurate enough.
Java Implementation Python Implementation C++ Implementation C# Implementation
Secant Method Algorithm