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

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


#include <stdio.h>
#include<stdlib.h>
#include <conio.h>
#include <math.h>

void main()
{
	double x0,x1=0,x2=0,fx0,fx1,fx2;//x1,x2未端點,x0爲中點,浮點型數據
	//輸入的區間有解
	do 
	{
		printf("請輸入端點x1,x2:\n");
		scanf("%f%f",&x1,&x2);
		printf("x1:%f\n",x1);
		printf("x2:%f\n",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*fx2>0);
	//二分法求解
	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 (abs(fx0)>1e-10);
	printf("方程的根%f",x0);
	system("pause");
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章