python-给定图像,尽其所能完全创建显示的图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-给定图像,尽其所能完全创建显示的图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1383字,纯文字阅读大概需要2分钟。
内容图文
![python-给定图像,尽其所能完全创建显示的图](/upload/InfoBanner/zyjiaocheng/669/011df28829e94258bcd05dad1e64fae3.jpg)
我试图用图形表示它看起来正在呈指数下降(见图),但我似乎无法使其正常工作…
import numpy as np
import matplotlib.pyplot as plt
p0 = 1013.
Rd = 0.2871
g = 0.00981
T = T0 = 288.
y = 0.000006
H = (Rd*T)/g
z = np.arange(0.,1600.,)
yz = y*z
yR = y*Rd
p1 = (p0)*(np.exp(-z/H))
p2 = (p0)*(((T-yz)/T)**(g/yR))
plt.plot(p1,z,'g-')
plt.plot(p2,z,'r--')
plt.legend(['Isothermal', 'Constant γ'])
plt.title('Pressure (mb) vs. Altitude (km) -- Brandi Slavich')
plt.xlabel("Pressure (mb)")
plt.ylabel('Altitude (km)')
plt.grid(linestyle='--')
plt.axis([100.,1000.,0.,16.])
plt.show()
TypeError: only length-1 arrays can be converted to Python scalars
---> p1 = (p0)*(exp(-z/H))
目标图片:
解决方法:
该错误来自exp(-z / H).为避免这种情况,可以改用np.exp.
看起来math.exp只能处理标量或形状为(1,)的numpy.ndarray.
import numpy as np
import math
math.exp(np.array([100]))
# 2.6881171418161356e+43
math.exp(np.array([100, 200]))
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# TypeError: only length-1 arrays can be converted to Python scalars
np.exp(np.array([100, 200]))
# array([ 2.68811714e+43, 7.22597377e+86])
添加:
另外,我认为绘图[100.,1000.,0.,16.]的轴范围不太适合您的数据范围(z,p1,p2).
# y-axis: 0 - 16
# >>> (z.min(), z.max())
# (0.0, 1599.0)
# x-axis: 100 - 1000
# >>> (p1.min(), p1.max())
# (837.95200017838602, 1013.0)
# >>> (p2.min(), p2.max())
# (835.24824032186791, 1013.0)
内容总结
以上是互联网集市为您收集整理的python-给定图像,尽其所能完全创建显示的图全部内容,希望文章能够帮你解决python-给定图像,尽其所能完全创建显示的图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。