<p>这是我的完整代码:</p>
<pre><code> from sympy import exp,symbols
from sympy import Float,linsolve
def chis_znam_construct(T,i_eq,n):
En1 = symbols('Eb:' + str(n+1))
En0 = symbols('Ea:' + str(n+1))
En2 = symbols('Ec:' + str(n+1))
mui = symbols('mui:' + str(n+1))
k = symbols('k')
chis=0
znam=0
i_levels=0
eq=[]
varS=[]
dictvanfleck=dict({})
dictvanfleck['eq']=[]
dictvanfleck['vars']=[]
def getvars(f,varS):
i_var=0
while i_var<=(len(f)-1):
varS.append(f[i_var])
i_var+=1
return varS
variable=getvars(En0,varS)
variable=getvars(En1,varS)
variable=getvars(En2,varS)
for i_levels in range(n):
chis+=((En1[i_levels]**2)/(k*T)-
(En2[i_levels]+En2[i_levels]))*exp((En0[i_levels]**2)/(k*T))
znam+=mui[i_eq]*exp((En0[i_levels]**2)/(k*T))
i_levels+=1
print('')
print('')
eq.append(chis-znam)
dictvanfleck['vars']=variable
dictvanfleck['eq']=eq
return dictvanfleck
def eq_construct(T,n):
i_eq=0
eq=[]
for i_eq in range(n):
eq.append(chis_znam_construct(T[i_eq],i_eq,n))
i_eq+=1
return eq
print('')
print('')
def solve_eq(T,n):
equations=eq_construct(T,n)
eqA=equations[1]
var=eqA['vars']
i=0
equat=[]
while i<=(n-1):
eqA=equations[i]
eqq=eqA['eq']
equat.append(eqq[0])
i+=1
list_eq=str(equat)
list_var=str(var)
print('')
print('list_eq',list_eq)
print('')
print('list_var',list_var)
a = linsolve(list_eq,list_var)
return a
n = 4
T = symbols('T:' + str(n+1))
equations=solve_eq(T,n)
</code></pre>