用C语言实现牛顿迭代法
时间: 2023-06-26 21:06:05 浏览: 148
牛顿迭代法是一种求解方程的数值方法,它可以求解非线性方程。下面是用C语言实现牛顿迭代法的示例代码:
```c
#include <stdio.h>
#include <math.h>
double f(double x) { // 定义函数f(x)
return x*x*x - x - 1;
}
double f_prime(double x) { // 定义函数f(x)的导函数f'(x)
return 3*x*x - 1;
}
double newton(double x0, double eps) { // 定义牛顿迭代函数
double x = x0;
while (fabs(f(x)) > eps) { // 当误差大于给定值时循环
x = x - f(x) / f_prime(x); // 牛顿迭代公式
}
return x;
}
int main() {
double x0 = 1.0; // 设置初始值x0
double eps = 1e-6; // 设置误差值eps
printf("x = %lf\n", newton(x0, eps)); // 输出结果
return 0;
}
```
在上面的代码中,我们定义了函数f(x)和它的导函数f'(x),然后定义了牛顿迭代函数newton(x0, eps),其中x0是初始值,eps是误差值。在牛顿迭代函数中,我们通过while循环来不断进行迭代,直到误差小于给定值eps为止。每次迭代使用牛顿迭代公式来计算新的x值,直到满足要求即可输出结果。
阅读全文