Description Usage Arguments Details Value Note Author(s) References See Also Examples
Secant Method to Find the Root of Nonlinear Equation.
1 | SMfzero(f, x1, x2, num = 1000, eps = 1e-05, eps1 = 1e-05)
|
f |
the objective function which we will use to solve for the root |
x1 |
the initial value of Secant Method |
x2 |
the initial value of Secant Method |
num |
the number of sections that the interval which from Brent's method devide into. num=1000 when it is default |
eps |
the level of precision that |x(k+1)-x(k)| should be satisfied in order to get the idear real root. eps=1e-5 when it is default |
eps1 |
the level of precision that |f(x)| should be satisfied, where x comes from the program. when it is not satisified we will fail to get the root |
Be careful to choose x1 & x2.if not we maybe fail to get the root
the root of the function
Maintainer:Zheng Sengui<1225620446@qq.com>
Zheng Sengui,Lu Xufen,Hou Qiongchen,Zheng Jianhui
Luis Torgo (2003) Data Mining with R:learning by case studies. LIACC-FEP, University of Porto
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | f<-function(x){x^3-x-1};f1<-function(x){3*x^2-1};
SMfzero(f,0,2)
##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (f, x1, x2, num = 1000, eps = 1e-05, eps1 = 1e-05)
{
i = 0
while ((abs(x1 - x2) > eps) & (i < num)) {
c = x2 - f(x2) * (x2 - x1)/(f(x2) - f(x1))
x1 = x2
x2 = c
i = i + 1
}
print(x2)
print(f(x2))
if (abs(f(x2)) < eps1) {
print("finding root is successful")
}
else print("finding root is fail")
}
|
[1] 1.324718
[1] 4.412026e-13
[1] "finding root is successful"
function (f, x1, x2, num = 1000, eps = 1e-05, eps1 = 1e-05)
{
i = 0
while ((abs(x1 - x2) > eps) & (i < num)) {
c = x2 - f(x2) * (x2 - x1)/(f(x2) - f(x1))
x1 = x2
x2 = c
i = i + 1
}
print(x2)
print(f(x2))
if (abs(f(x2)) < eps1) {
print("finding root is successful")
}
else print("finding root is fail")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.