牛顿迭代公式
- x=x0-f(x0)/f’(x0)
x0是上一次求出的近似根
f’(x0)是f(x0)的导数
- 求导公式(a,b为系数,n为次方)
- f(x)=axn+bx+c
- f’(x)=(a×n)x(n-1)+(b×1)x(1-1)+0
#include <stdio.h>
#include <math.h>
int main(){
double solut(double a,int an,double b,int bn,double c,double d);
double a,b,c,d;
int an,bn;
printf("求a*x*an+b*x*bn+c*x+d=0,求x在1附件的实根:\n");
printf("a=");
scanf("%lf",&a);
printf("an=");
scanf("%d",&an);
printf("b=");
scanf("%lf",&b);
printf("bn=");
scanf("%d",&bn);
printf("c=");
scanf("%lf",&c);
printf("d=");
scanf("%lf",&d);
//scanf("%lf %d %lf %d %lf %lf",&a,&an,&b,&bn,&c,&d);
printf("方程式:%lfx%d+%lfx%d+%lfx+%lf得到x在1附件的实根为%10.7lf\n",a,an,b,bn,c,d,solut(a,an,b,bn,c