有没有会python的,求助
第一个函数代码代表是的图片中的第二个方程第二个函数代码代表的是图片中的第一个方程,变换位置,等式左边减右边
第三个函数代表利用二分法求解第二个方程的解
第二个方程需要第一个方程的参数
最终要求的是n的值
给定S的值是116.627
运行报错
求大神帮忙分析
from sympy import *
import numpy as np
n = symbols('n')
def Fermi_Dic(i,n):
E = symbols('E')
return integrate((E**i/(1+exp(E-n))), E,0,float('inf'))
def fun_seebeck(n,S):
return S*(1e-6)-((kB/e)*((2*Fermi_Dic(2,n))/(Fermi_Dic(0,n))-n))
def fun_n(S):
a=10
b=-10
c=(a+b)/2
while abs(b-a)>1e-12:
if fun_seebeck(a,S)*fun_seebeck(c,S)>0:
a=c
elif fun_seebeck(a,S)*fun_seebeck(c,S)<0:
b=c
elif fun_seebeck(c,S)==0:
return c
return start
kB = 1.38064852E-23 #% Boltzmann constant (J/K)
h = 6.6260693E-34 # % Plank constant h (J*s)
e = 9.109382E-31 # % 自由电子的质量 9.109382E-31 Kg;
pi=3.1415926
n=n
i=2
Fermi_Dic(i,n)
fun_seebeck(n,116.627)
fun_n(116.627)
页:
[1]