newton迭代法c语言
时间: 2023-09-26 21:11:27 浏览: 115
牛顿迭代法c语言实现
5星 · 资源好评率100%
以下是使用C语言实现牛顿迭代法的示例代码:
```c
#include <stdio.h>
#include <math.h>
double f(double x) {
return x * x * x - x - 1;
}
double df(double x) {
return 3 * x * x - 1;
}
double newton(double x0, double tol) {
double x = x0;
int i = 0;
while (fabs(f(x)) > tol) {
x = x - f(x) / df(x);
i++;
printf("Iteration %d: x = %lf\n", i, x);
}
return x;
}
int main() {
double x0 = 1.5;
double tol = 1e-6;
double root = newton(x0, tol);
printf("Root = %lf\n", root);
return 0;
}
```
在上面的代码中,`f`和`df`分别是所求函数和其导函数。`newton`函数接受两个参数,即初始值`x0`和容忍误差`tol`,并返回计算出的根。`while`循环用于不断迭代,直到满足容忍误差的条件。每次迭代时,打印出当前迭代次数和所得的近似解`x`。最后,将计算出的根打印出来。
阅读全文