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

用二分法求下面方程在(-10,10)的根:

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

答案解析:

将区间划分为两部分,记录区间左右端点,得到中点。每次运算将中点带入方程进行运算,求得结果,进行分析:

结果 > 0:将中位数赋值给右端点

结果 < 0:将中位数赋值给左端点

以此类推...

fabs函数是一个求绝对值的函数,求出x的绝对值,和数学上的概念相同;

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

代码示例:

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

int main()
{
	double left = -10, right = 10, mid;
	double temp = 10;
	while (fabs(temp) > 1e-5)
	{
		mid = (left + right) / 2;
		//((2x - 4)*x + 3) * x - 6 ==> 2x^3 - 4x^2 + 3x -6
		temp = ((2 * mid - 4) * mid + 3) * mid - 6;

		if (temp > 0)
		{
			right = mid;
		}
		else if (temp < 0)
		{
			left = mid;
		}
	}
	printf("在(-10,10)的根为:%lf", mid);
	return 0;
}

运行截图:

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

上一篇:Luogu1654 OSU! 题解


下一篇:C++作用域