微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何用 SciPy 求解这个方程两边都包括 f(x)

如何解决如何用 SciPy 求解这个方程两边都包括 f(x)

enter image description here

我怎样才能用 Scipy 解这个方程?两边都包含“y”。

例如,x = 1 到 10 的范围。

编辑:我为上面的方程尝试了“scipy.optimize.root”函数,它有效,但它不适用于 belove 方程:

from scipy.optimize import root
import numpy as np
v_arr = np.linspace(0,2,100)
J_sc = 0.0006
J_0 = 4.07
KT_q = 0.026 
Rs = 5
Rsh = 1000
def function(I_L,v_arr):
    return ( J_sc - J_0*exp((v_arr + I_L*Rs)/KT_q) - (v_arr + I_L*Rs)/Rsh - I_L)
result = root(function,np.zeros(len(v_arr)),v_arr )
print ("answer {}".format(result.x))

并且输出为零:answer [0. 0. 0. 0. 0. 0. .... 0. 0. 0. 0. 0. 0. 0.]

解决方法

它对你有用吗?

from scipy.optimize import root
import numpy as np

def function(y,x):
    return 1-2*np.exp((2*x+3*y)/5.0) - (1+2*y)/3.0 - y 


_xArr = np.arange(1,10)
result = root(function,np.zeros(len(_xArr)),_xArr )

print ("answer {}".format(result.x))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。