gpt4 book ai didi

python - Python 上的 Bolzano 算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:23:29 25 4
gpt4 key购买 nike

我正在尝试在 python 上编写二分法代码,但我无法将其应用于不同的函数。到目前为止,我有这段代码:

def Bolzano(fonction, a, b, tol=0.000001):
while abs(b-a)>tol:
m=(a+b)/2
if cmp(fonction(m))==cmp(fonction(a)):
a=m
else:
b=m
return a, b

这段代码不能很好地工作,因为我不知道如何定义函数。写得简单

Bolzano(3*x,0.5,1.0)

不起作用,因为 x 未定义。因此,我无法检查其余代码是否有问题。

当然我可以先定义函数然后再应用它,但我希望能够更改函数同时始终保持相同的算法而不重写它。有帮助吗?

最佳答案

你可以使用 lambdas :

Bolzano(lambda x: 3*x,0.5,1.0)

或者定义一个传递给 Bolzano 的函数:

def f(x):
return 3*x

Bolzano(f, 0.5, 1.0)

然后你可以继续添加函数:

def f(x):
return 3*x

def f1(x):
return 3*x+6

Bolzano(f, 0.5, 1.0)
Bolzano(f1, 0.5, 1.0)

关于python - Python 上的 Bolzano 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com