0

我尝试使用 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=(),但返回相同的消息。

4

0 回答 0