189 8069 5689

求函数零点c语言 函数怎么求零点个数

怎样求函数的零点

已知y=f(x)函数的零点就是f(x)=0的根。

我们提供的服务有:网站建设、网站设计、微信公众号开发、网站优化、网站认证、郁南ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的郁南网站制作公司

函数零点的求法:

1,可以利用二分法求近似解。给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下:

1 确定区间[a,b],验证f(a)·f(b)0,给定精确度ξ.

2 求区间(a,b)的中点c.

3 计算f(c).

(1) 若f(c)=0,则c就是函数的零点;

(2) 若f(a)·f(c)0,则令b=c;

(3) 若f(c)·f(b)0,则令a=c.

(4) 判断是否达到精确度ξ:即若|a-b|ξ,则得到零点近似值a(或b),否则重复2-4.

2、利用图像法求零点。①、一般步骤:令f(x)=0,解f(x)=0,找图像与X轴的交点;

②、图像法:把函数图像画出来,找两个函数图像的交点。

求助C语言二分法求函数零点

#include stdio.h

#include math.h

double fun_math(double);

int main(void)

{

/*  根据函数可知Y是关于x的一个递增函数 */

/*  先判断输入Y时,X在(0,1)时是否有解 */

double Y;

double X=0 ,big_x=1.0,small_x=0,tmp_X=1;

unsigned int tmp=0;

printf("Please enter Y:");

scanf("%lf",Y);

if(fun_math(1) = Y fun_math(0) = Y)

{

while(tmp_X != X)

{

X =(big_x + small_x)/2;

if(fun_math(X)==Y) break;

if(fun_math(X)Y) big_x = X;

else small_x = X;

tmp_X = X ;

X =(big_x + small_x)/2;

}

printf("X = %.6lf",X);

}

else printf("while Y=%lf, X(0,1) on results\n",Y);

return 0;

}

用C语言,运用二分法,求函数零点。

#includestdio.h

#includemath.h

typedef double(*fun)(double xx);//函数指针

#define e 0.000001 //误差

void eff(double a,double b,fun hs)//二分法

{int i=0;

while(fabs(hs(a)-hs(b))efabs(a-b)e){i++;

if(hs(a)*hs((b+a)/2)0){

a=(a+b)/2;

printf("迭代第%d次:\t%f\n",i,a);

}

else {

b=(a+b)/2;

printf("迭代第%d次:\t%f\n",i,b);

}

}

}

double hs1(double xx)//函数f(x)=x^3+x^2-3x-3

{return xx*xx*xx+xx*xx-3*xx-3;}

double hs2(double xx)//函数f(x)=lnx+x

{return log(xx)+xx;}

void main()

{

printf("用二分法求方程x^3+x^2-3x-3=0在1.5附近的根\n");

eff(1.0,2.0,hs1);

printf("用二分法求方程lnx+x在0.5附近的根\n");

eff(0.0,1.0,hs2);

}


名称栏目:求函数零点c语言 函数怎么求零点个数
网站链接:http://cdxtjz.cn/article/ddeoocs.html

其他资讯