编写二分法求高次方程根的函数,求解方程2x3-4x2+3x-6=0在区间[-10,10]之间的根。
最后编写主程序调用该函数。
输出要求:n个数,若n>1,则数字之间用空格隔开
编写二分法求高次方程根的函数,求解方程2x3-4x2+3x-6=0在区间[-10,10]之间的根。
最后编写主程序调用该函数。
输出要求:n个数,若n>1,则数字之间用空格隔开
下午好🌅🌅🌅
本答案参考ChatGPT-3.5
问题分析:
解决方案:
代码实现:
def equation_root(left_bound, right_bound, error_bound=10 ** -6):
"""
利用二分法求解方程的根
:param left_bound: 方程根的左侧边界;
:param right_bound: 方程根的右侧边界;
:param error_bound: 方程根的误差范围,默认为 10^-6;
:return: 方程的根。
"""
while right_bound - left_bound > error_bound:
mid = (left_bound + right_bound) / 2
if (2 * mid ** 3 - 4 * mid ** 2 + 3 * mid - 6) * (2 * left_bound ** 3 - 4 * left_bound ** 2 + 3 * left_bound - 6) <= 0:
right_bound = mid
else:
left_bound = mid
return mid
result = equation_root(-10, 10) # [-10, 10] 是题目要求的区间范围
print(round(result, 6))
# 输出结果:2.000000
说明:
附加说明: