二分法求函数极小值点的代码如何实现(最好matlab,python也可以);多谢啦~
3条回答 默认 最新
- chuifengde 2023-03-29 13:52关注
def fun(t): return t ** 4 / 4 + t ** 2 * 5 - 20 * t + 3 a, b = 1, 2 e = 10e-6 x0 = fun(a) x1 = fun(b) while a <= b: m = (a + b) / 2 x = fun(m) if abs(x - x1) <= e: result = m break if abs(x - x0) > abs(x - x1): x0 = x a = m else: x1 = x b = m print(m, fun(m)) # result 1.59423828125 -14.561859965720927
对比图如下:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用