牛顿迭代法:
牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。
代码:
#include <stdio.h>
#include <math.h>
int main()
{
float qiugeng(int a, int b, int c, int d, int e);
int a, b, c, d; float e = 1, answer = 1;
scanf("%d %d %d %d", &a, &b, &c, &d);
printf("方程为%dx**3+%dx**2+%dx+%d=0", a, b, c, d);//输入方程的系数
printf("\n");
answer = qiugeng(a, b, c, d, e);
printf("%f", answer);//输出方程的根
return 0;
}
float qiugeng(int a, int b, int c, int d, float e)//牛顿迭代法求解方程的根
{
float q; float k;
q = a * e * e * e + b * e * e + c * e + d;
while (fabs(q) > 1e-6)//精度为10^(-6)
{
q = a * e * e * e + b * e * e + c * e + d;
k = 3 * a * e * e + 2 * b * e + c;
e = e - q / k;
}
return e;
}
输入:
输出:
标签:方程,int,float,牛顿,qiugeng,迭代法,求根 From: https://blog.csdn.net/m0_72812371/article/details/143600610