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

在积分方程中数值求多个变量的根

如何解决在积分方程中数值求多个变量的根

我试图在以下积分方程中求解 Hb 和 Et:

enter image description here

所有其他常量都是已知的,J 是一个数组。所以基本上我试图为 J 的每个值找到 Hb 和 Et。另一个数组 V 也是已知的,其中 V 用于找到积分的上限,即 F(d)。我被困在如何解决 fsolve 中的多个变量:

from sympy import *
import pandas as pd
import numpy as np
from scipy.integrate import quad
from scipy.optimize import fsolve

q=1.6021e-19
mu0=1400
phi=1.35
d=0.3
Nv=2.166e+19
kB=8.617e-05
Tl=300

J=np.exp(np.linspace(0,4,100))
V=np.linspace(0,100)
#J and V are actually read from a file

def integrand(J,F,Hb,Et):
    
    return (1/( (J/(q*mu0*F)) + ( Hb/( 1+ (q*mu0*F*Nv*np.exp(-Et/(kB*Tl))) ) ) )) - d
    
def integ_func(LL,UL,J):
    y,err=quad(integrand,LL,args(J,Et))
    
for i in range(0,len(J)):
    
    F0=J[i]/(q*mu0*(Nv*np.exp(-phi/(kB*Tl))))
    Fd=V[i]/d-F0
    sol = fsolve(integ_func,[])

我不知道如何处理此代码。任何帮助将不胜感激

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