def f(m_l, m_B, y):
value = -1.0 + np.sum(m_l*np.exp(-m_B*y))
return value
def df(m_l, m_B, y):
value = -np.sum(m_B*m_l*np.exp(-m_B*y))
return value
其中m_l和m_b是numpy数组。我使用给出以下输入
m_l = np.array([0.0036132256153053369,0.95110068028445593])
m_B = np.array([0.48884897299905006,0.95605658765269563])
guess=-0.048557088449677460
root = optimize.root_scalar(f, guess, fprime=df, args=(m_l,m_B),method='newton',rtol=1e-9,maxiter=1000)
我得到以下错误:
TypeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15644/3699083294.py in <module>
4 print(f(m_l, m_B, y))
5 guess=-0.048557088449677460
----> 6 root = optimize.root_scalar(f, guess, fprime=df, args=
(m_l,m_B),method='newton',rtol=1e-9,maxiter=1000)
TypeError: root_scalar() got multiple values for argument 'args'
我想发生这个错误是因为输入参数没有正确传递。有人能帮忙找出通过争论的正确方法吗。提前谢谢。