gpt4 book ai didi

python - 尝试求解非线性方程时出错

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:38 25 4
gpt4 key购买 nike

我正在尝试求解由以下公式给出的方程式:

enter image description here

我将上面的等式转换成python代码如下:

from scipy.optimize import fsolve
import numpy as np

u = lambda b : ((1 - b)(7.864 - 5.336*b + 25.864*np.power(b,2) - 11.935*np.power(b,3) - 0.336*np.power(b,4))) - 6.164

fsolve(u,np.linspace(0,1,10))

但我收到一条错误消息:

enter image description here

这可能是什么原因?我做错了什么?

最佳答案

您在 (1 - b) 和 (7.864 ... 之间缺少 *:

In [11]: from scipy.optimize import fsolve
...: import numpy as np
...:
...: u = lambda b : ((1 - b) * (7.864 - 5.336*b + 25.864*np.power(b,2) - 11.935*np.power(b,3) - 0.336*np.power(b,4))) - 6.164
...: # ^ MISSING HERE
...: fsolve(u,np.linspace(0,1,10))
...:
Out[11]:
array([0.20503009, 0.20503009, 0.20503009, 0.20503009, 0.20503009,
0.20503009, 0.20503009, 0.20503009, 0.20503009, 0.20503009])

因此出现错误 TypeError: 'numpy.ndarray' object is not callable,这与尝试执行的操作相同:

In [12]: a
Out[12]: array(42)

In [13]: a()
TypeError: 'numpy.ndarray' object is not callable

In [14]: a(1)
TypeError: 'numpy.ndarray' object is not callable

关于python - 尝试求解非线性方程时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56231307/

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