牛顿迭代法算法C语言
时间: 2024-04-13 15:21:39 浏览: 177
牛顿迭代法是一种用于求解方程近似解的数值方法。它基于函数的泰勒级数展开,通过不断逼近方程的根来求解方程。以下是使用C语言实现牛顿迭代法的示例代码:
```c
#include <stdio.h>
#include <math.h>
double f(double x) {
// 定义方程f(x)
return x * x - 2;
}
double f_prime(double x) {
// 定义方程f(x)的导数
return 2 * x;
}
double newton_method(double x0, double epsilon) {
double x = x0;
double delta;
do {
double fx = f(x);
double fpx = f_prime(x);
// 牛顿迭代公式
x = x - fx / fpx;
delta = fabs(fx / fpx);
} while (delta > epsilon);
return x;
}
int main() {
double x0 = 1.0; // 初始值
double epsilon = 0.0001; // 精度
double root = newton_method(x0, epsilon);
printf("Approximate root: %lf\n", root);
return 0;
}
```
这段代码实现了牛顿迭代法的算法,通过不断迭代逼近方程的根。你可以根据需要修改`f(x)`和`f_prime(x)`函数来适应不同的方程。在`main`函数中,你可以设置初始值`x0`和精度`epsilon`来控制迭代的停止条件。最后,程序会输出近似的根。
阅读全文