二分法求二次函数根c语言 编程用二分法求解方程的根

C语言二分法求方程的根

没听说过二分法能够求根,二分法只是对于有序数组的查找方法,并不能去求解任意方程的根(只可以求解在某个区间单调递增或递减的函数曲线对应方程的根),较为通用的方程求根方法是牛顿法。

成都创新互联10多年企业网站制作服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站制作及推广,对湿喷机等多个领域拥有多年的网站维护经验的网站建设公司。

c语言二分法求根

二分法计算函数f(x)=x*x*x*x+2*x*x*x-x-1;

本程序在turbo c或c++下编译:

#include "stdio.h"

#include math.h

float f(float x)

{float y;

y=x*x*x*x+2*x*x*x-x-1;

return y;

}

void main()

{float a=0,b=0,h,y,x;

int k,n0;

printf("please input qujian a and b");

scanf("%f%f%d",a,b,n0); /*输入含根区间a,b,循环次数n0 */

for(k=0;k=n0;k++)

{ x=(a+b)/2;

h=(b-a)/2;

y=f(x);

if(h10e-6||fabs(y)10e-6)

{ printf("k=%d,x=%f,y=%f",k,x,y);

break; } /*输出分半次数k,函数的根x,及x对应的函数值.*/

else

{if(f(a)*f(x)0)

b=x;

else a=x;

}

}

}

c语言二分法求方程根

用二分法求方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0.

解:x1=x0=(x1+x2)/2=x2

程序:

#includestdio.h

#includemath.h

int main()

{

float x0,x1,x2,fx0,fx1,fx2;

do

{

printf("输入x1,x2的值:");

scanf("%f,%f", x1, x2);

fx1 = 2*x1*x1*x1 - 4 * x1*x1 + 3 * x1 - 6;

fx2 = 2 *x2*x2*x2 - 4 *x2*x2 + 3 * x2 - 6;

} while (fx1*fx20);

do

{

x0 = (x1 + x2)/2;

fx0 = 2 * x0*x0*x0 - 4 * x0*x0 + 3 * x0 - 6;

if (fx0*fx1 0)

{

x2 = x0;

fx2 = fx0;

}

else

{

x1 = x0;

fx1 = fx0;

}

} while (fabs(fx0)= 1e-5);

printf("x=%5.2f\n",x0);

return 0;

}


新闻名称:二分法求二次函数根c语言 编程用二分法求解方程的根
网页URL:http://ybzwz.com/article/dohgjoh.html