从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这段代码是求解方程f(x)=0在区间[-10,10]上的根的数值解。
成都创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元独山做网站,已为上家服务,为独山各地企业和个人服务,联系电话:18980820575
方法的思想就是:一直选取区间中间的数值,如果发现中间的函数值与一侧函数值,异号,那么说明解在这个更小的区间中,采用eps=1e-5作为区间的极限大小,通过迭代的方法求解这个方程的数值解。
所以了解了上述思想,那么else if(f(a)*f(c)0) b=c; 说明的是 f(a)和f(c)异号,那么使用b=(a+b)/2缩小迭代区间,继续迭代;同理else a=c;说明f(a)和f(c)同号,那么使用a(a+b)/2缩小迭代区间,继续迭代!
/*
二分法,适用于原函数是单调递增或单调递减,即方程只有1个根,
或在指定区间只有1个根
*/
//函数y( x),直接按题目中的方程写
double y(double x)
{
return 2*x*x*x -4*x*x +3*x -6;
}
//递归调用函数,这种调用多少次不一定的函数,
//用递归调用最简单,但要掌握递归技巧
double f(double x1,double x2)
{
double xm = (x1+x2)/2.0;
if( (x2-x1) 0.0000001) //预先设定的很小的数值,控制计算精度
{
return xm; //递归调用出口
}
if( y( xm ) 0 )//用xm 代替x2
{
f( x1,xm);
}
else ////否则 用xm 代替x1
{
f( xm,x2);
}
}
void main()
{
double x1,x2;
x1 = -100000;
x2 = +100000;//取+ - 2个较极端的数,保证y(x1)0,且y(x2)0
printf("%7.3lf",f(x1,x2));
}
这段代码是求解方程f(x)=0在区间[-10,10]上的根的数值解。
方法的思想就是:一直选取区间中间的数值,如果发现中间的函数值与一侧函数值,异号,那么说明解在这个更小的区间中,采用eps=1e-5作为区间的极限大小,通过迭代的方法求解这个方程的数值解。
所以了解了上述思想,那么else
if(f(a)*f(c)0)
b=c;
说明的是
f(a)和f(c)异号,那么使用b=(a+b)/2缩小迭代区间,继续迭代;同理else
a=c;说明f(a)和f(c)同号,那么使用a(a+b)/2缩小迭代区间,继续迭代!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图