<p>不要使用这些,这是一种不好的做法。请使用<code>ìmport matplotlib.pyplot</code></p>
<pre class="lang-py prettyprint-override"><code>from pylab import *
from random import *
</code></pre>
<p>改进后的代码是:</p>
<pre class="lang-py prettyprint-override"><code>import matplotlib
import matplotlib.pyplot as plt
import random
# from mpl_toolkits import mplot3d
# import pandas as pd
from scipy.optimize import fsolve
import sympy as sy
import numpy as np
mdoth = 0.004916
cph = 1008
nsh = .598
hh= 86.68
Ash = .02
n=127
alpha = .00041427
rho = .002129
k=3.041
Le = .0025
Ae = .000001
ree = rho * Le/Ae
Ke = k * Ae/Le
nsc = .674
hc = 87.68
Asc = .016
rL = ree
mdotc = .004542
cpc = 1007
II, Qc, Qh, Tc, Th, Tinfcout, Tinfhout = sy.symbols('II, Qc, Qh, Tc, Th, Tinfcout, Tinfhout')
def solver(_TH, _TC):
rv = []
for TH,TC in zip(_TH, _TC):
TH = TH[0]
TC = TC[0]
Tinfhin = TH +273.15
Tinfcin = TC + 273.15
sols = sy.nsolve((sy.Eq(Qh,mdoth * cph * (Tinfhin - Tinfhout) ),
sy.Eq(Qh,nsh * hh * Ash * ((Tinfhin + Tinfhout)/2 - Th)),
sy.Eq(Qh,n * (alpha * II * Th - 0.5 * (II**2) * ree + (Ke * (Th-Tc)))),
sy.Eq(Qc,n * (alpha * II * Tc + 0.5 * (II**2) * ree + (Ke * (Th-Tc)))),
sy.Eq(Qc,nsc * hc * Asc * (Tc - (Tinfcin + Tinfcout)/2) ),
sy.Eq(Qc,mdotc * cpc * (Tinfcout - Tinfcin) ),
sy.Eq(II,(alpha * (Th - Tc))/(rL + ree) )),
(II, Qc, Qh, Tc, Th, Tinfcout, Tinfhout), (1,5,5,300,300,330,330) )
rv.append(sols[0])
return rv
hin = np.linspace(0, 200, 20)
cin = np.linspace(0, 200, 20)
X, Y = np.meshgrid(hin,cin)
Z = solver(X,Y)
ZZ = []
for _ in range(0, len(Z)):
ZZ.append(Z)
ZZ = np.array(ZZ, dtype='float')
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw={"projection": "3d"})
ax.plot_surface(X, Y, ZZ, rstride=1, cstride=1, cmap = 'plasma', antialiased=False)
ax.set_xlabel("TC")
ax.set_ylabel("Ambient")
ax.set_zlabel("Voltage")
ax.view_init(0, 180)
fig.tight_layout()
plt.show()
</code></pre>
<p>数字是</p>
<p><a href="https://i.stack.imgur.com/Nmve0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Nmve0.png" alt="enter image description here"/></a></p>
<p>我使用了@smichr生成的函数</p>