1.弦截法求根
弦截法C语言实现如下:
//求根函数
float f( float x ){
float y;
y = ((a * x + b) * x + c) * x + d;
return (y);
}
//求解与x轴交点
float xpoint( float x1, float x2 ){
float y;
y = ( x1 * f(x2) - x2 * f(x1) ) / ( f(x2) - f(x1) );
return (y);
}
/*
[ x1, x2 ]为给定的求根区间
*/
float root( float x1, float x2 ) {//需满足f(x1)与f(x2)异号
int i;
float x, y, y1;
float a,b,c,d;
printf("input a,b,c,d:\r\n");
scanf("%f,%f,%f,%f",&a,&b,&c,&d);
y1 = f(x1);
do{
x = xpoint(x1, x2);//求解与x轴交点