#include <stdio.h>
#include <math.h>
double Root(double a,double b,double eps,double (*f)())
{
double f0,f1,c;//两端点函数值和中点变量
f0=(*f)(a); //左端点值
while (fabs(a-b)>=eps)//区间范围大于收敛值,继续二分
{
c=(a+b)/2; //二分中点
f1=(*f)(c); //中点函数值
if (f1==0) //判断中点函数值,满足就退出
return(c);
if (f0*f1>0)//判断左端点和中点两函数值,同号
a=c; //中点为左端点
else
b=c; //中点为右端点
}
c=(a+b)/2; //满足收敛条件的中点,即函数的根
return(c);
}
这个程序要怎么改啊?
还有double Root(double a,double b,double eps,double (*f)()) 里面的a b eps 这些是什么啊
#include <math.h>
double Root(double a,double b,double eps,double (*f)())
{
double f0,f1,c;//两端点函数值和中点变量
f0=(*f)(a); //左端点值
while (fabs(a-b)>=eps)//区间范围大于收敛值,继续二分
{
c=(a+b)/2; //二分中点
f1=(*f)(c); //中点函数值
if (f1==0) //判断中点函数值,满足就退出
return(c);
if (f0*f1>0)//判断左端点和中点两函数值,同号
a=c; //中点为左端点
else
b=c; //中点为右端点
}
c=(a+b)/2; //满足收敛条件的中点,即函数的根
return(c);
}
这个程序要怎么改啊?
还有double Root(double a,double b,double eps,double (*f)()) 里面的a b eps 这些是什么啊