牛顿迭代法求根c++
时间: 2023-12-02 17:41:48 浏览: 119
牛顿迭代法_C语言_牛顿迭代法_c++求积分_数值分析_
5星 · 资源好评率100%
以下是使用牛顿迭代法求解方程的C++代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
double f(double x) { // 定义函数f(x)
return x * x - 2; // 求解x^2=2的根
}
double f1(double x) { // 定义函数f'(x)
return 2 * x; // x^2的导数为2x
}
double newton(double x0) { // 定义牛顿迭代函数
double x1 = x0 - f(x0) / f1(x0); // 计算x1
while (abs(x1 - x0) >= 1e-9) { // 当x1与x0的差小于1e-9时停止迭代
x0 = x1;
x1 = x0 - f(x0) / f1(x0);
}
return x1;
}
int main() {
double n;
cin >> n;
cout << newton(n / 2) << endl; // 以n/2为初始值调用牛顿迭代函数
return 0;
}
```
阅读全文