初始根为[1,2]用C++牛顿法求出一元非线性方程f(x)=x^3-sinx-4x+1的全部实根,精度为10^(-4),并输出每次运算的结果,给出代码
时间: 2024-01-05 13:01:24 浏览: 110
用牛顿迭代法求f(x)在x=0附近的一个实根(C++)
#include<stdio.h>
#include<math.h>
double f(double x) {
return pow(x,3)-sin(x)-4*x;
}
double f1(double x) {
return 3*pow(x,2)-cos(x)-4;
}
double f2(double x) {
return 6*x+sin(x);
}
int main() {
double x=1.0,x0=0.0;
int count=0;
while(fabs(x-x0)>=1e-4) {
x0=x;
x=x-f(x)/f1(x);
printf("第%d次迭代:x=%.4f\n",++count,x);
}
printf("方程的实根为:%.4f\n",x);
return 0;
}
阅读全文