我尝试使用 scipy.optimize 库中的 fsolve 函数来求解改变方程参数的非线性方程,但是当我运行代码时,我收到以下错误消息:
TypeError:输入了不正确的输入参数。
我多次查看该程序,但仍然找不到问题。我在互联网上进行了搜索,但没有找到任何文档或遇到相同问题的人。我为函数编写了这段代码:
def Rolling(h,ho,b,mi,R,sig,load):
Dh = ho - h
hm = (h+ho)*0.5
Lp = (R*Dh)**0.5
Q = mi*Lp/hm
P = sig*(b/Q*(exp(Q)-1)*Lp)
return P-load
我写了一个循环,方程的值会发生变化,但我总是在每种情况下找到“h”的值,所以我使用 fsolve:
h = fsolve(lambda H: Rolling(H,ho,b,mi,R,sig,load),hi)
问题出现在这一行。
PS:我已经尝试使用 args=(),但返回相同的消息。