我试图写一个简单的python代码,用于给定温度T = 200K的强度与波长的关系图.

到目前为止我有这个……

import scipy as sp

import math

import matplotlib.pyplot as plt

import numpy as np

pi = np.pi

h = 6.626e-34

c = 3.0e+8

k = 1.38e-23

def planck(wav, T):

a = 2.0*h*pi*c**2

b = h*c/(wav*k*T)

intensity = a/ ( (wav**5)*(math.e**b - 1.0) )

return intensity

我不知道如何定义波长(wav),从而产生普朗克公式的图.任何帮助,将不胜感激.

解决方法:

这是一个基本情节.要使用plt.plot(x,y,fmt)进行绘图,您需要两个相同大小的数组x和y,其中x是要绘制的每个点的x坐标,y是y坐标,fmt是描述如何的字符串绘制数字.

因此,您需要做的就是创建一个均匀间隔的波长阵列(我称之为波长的np.array).这可以通过范围(开始,结束,间隔)来完成,这将创建从开始到结束(不包括)间隔开的数组.

然后使用函数在数组中的每个点处计算强度(将存储在另一个np.array中),然后调用plt.plot绘制它们.注意numpy让你在vectorized form中快速对数组进行数学运算,这在计算上是有效的.

import matplotlib.pyplot as plt

import numpy as np

h = 6.626e-34

c = 3.0e+8

k = 1.38e-23

def planck(wav, T):

a = 2.0*h*c**2

b = h*c/(wav*k*T)

intensity = a/ ( (wav**5) * (np.exp(b) - 1.0) )

return intensity

# generate x-axis in increments from 1nm to 3 micrometer in 1 nm increments

# starting at 1 nm to avoid wav = 0, which would result in division by zero.

wavelengths = np.arange(1e-9, 3e-6, 1e-9)

# intensity at 4000K, 5000K, 6000K, 7000K

intensity4000 = planck(wavelengths, 4000.)

intensity5000 = planck(wavelengths, 5000.)

intensity6000 = planck(wavelengths, 6000.)

intensity7000 = planck(wavelengths, 7000.)

plt.hold(True) # doesn't erase plots on subsequent calls of plt.plot()

plt.plot(wavelengths*1e9, intensity4000, 'r-')

# plot intensity4000 versus wavelength in nm as a red line

plt.plot(wavelengths*1e9, intensity5000, 'g-') # 5000K green line

plt.plot(wavelengths*1e9, intensity6000, 'b-') # 6000K blue line

plt.plot(wavelengths*1e9, intensity7000, 'k-') # 7000K black line

# show the plot

plt.show()

而你看到:

您可能需要清理轴标签,添加图例,在同一图表上绘制多个温度下的强度等.咨询relevant matplotlib documentation.

标签:python,numpy,scipy,matplotlib

来源: https://codeday.me/bug/20190831/1772064.html

python强度公式计算_python – 黑体谱的普朗克斯公式相关推荐

  1. python利用公式计算_Python利用openpyxl处理Excel文件(公式实例)

    前面我们学习了Python使用openpyxl模块处理Excel文件的大部分内容,今天,我们通过一个例子来学习Python使用Excel公式的方法,引出今天的主题利用openpyxl处理Excel公式 ...

  2. python利用近似公式计算π_python如何利用公式计算π

    python利用公式计算π的方法:首先导入数学模块及时间模块:然后计算Pi精确到小数点后几位数,代码为[print('n{:=^70}'.format('计算开始'))]:最后完成计算,代码为[pri ...

  3. python操作excel模板_Python Excel模板读写,维护公式和格式

    我已经查过了,似乎找不到我要找的东西.我在这里找到的所有线索最后都成了我的死胡同.xlrd.xlwt和xlutils几乎可以满足我的需要,但是-基本思想是,我需要使用Python将简单数据(字符串)写 ...

  4. python读取excel公式计算结果为none_python读取excel保存公式无法读取

    原因: 以data_only=True或默认data_only=False打开会得到两种不同的结果,各自独立,即data_only=True状态下打开的,会发现公式结果为None(空值)或者一个计算好 ...

  5. c语言编程序按下列公式计算e的值,编写程序,利用公式 ,求出e的近似值

    已知一个三角形中三条边的长度分别为a,b和c,编写程序利用公式求出三角形的面积,其中S=(a+b+c)/2.要求边长a. usingSystem;usingSystem.Collections.Gen ...

  6. python公式计算_Python Numpy计算各类距离的方法

    详细: 1.闵可夫斯基距离(Minkowski Distance) 2.欧氏距离(Euclidean Distance) 3.曼哈顿距离(Manhattan Distance) 4.切比雪夫距离(Ch ...

  7. 自学python编程基础科学计算_Python基础与科学计算常用方法

    Python基础与科学计算常用方法 本文使用的是Jupyter Notebook,Python3.你可以将代码直接复制到Jupyter Notebook中运行,以便更好的学习. 导入所需要的头文件 i ...

  8. python中怎么计算_python中的加减乘除运算

    python中的加减乘除运算,是学习python入门的基础,是以后进行数学计算的关键部分.包括运算表达式的写法,运算规则,加减乘除,求余,求商等等. 工具/原料 python 电脑 方法/步骤 1 1 ...

  9. python编程工时计算_Python编程题:两个日期间的天数统计(附代码)

    编程题一:计算两个日期之间的天数 题目如下: 题目一 解题思路: 将两个日期格式化成time模块中的标准时间结构struct_time,缺少值用0补齐利用time模块函数分别计算两个日期到时间戳(指格 ...

  10. python空气质量指数计算_Python入门案例(八):空气质量指数(AQI)计算

    一.空气质量指数计算V1.0 主要知识点:分支结构.函数.异常处理# -*- coding:utf-8 -*- """ @author:Angel @file:AQI_V ...

最新文章

  1. torch转mnn笔记
  2. 基于权因子的图像融合
  3. C++ 标准库类型 vector
  4. word2vec原理_Word2vec详细整理(1)—权重更新原理
  5. SpringCloud版本说明
  6. python manager与basemanager_使用Python多处理管理器(BaseManager/SyncManager)与远程计算机共享队列时出现管道中断...
  7. 乱七八糟的编程技巧(随机数、效率)和网站(http://bytew.net/OIer/)
  8. 《如何搭建小微企业风控模型》第五节 特征工程(上)
  9. 杭州趣链张帅:趣链拥有大厂都没有的优势
  10. 从零开始react实战:云书签-1 react环境搭建
  11. matlab遗传算法工具箱及应用 pdf,MATLAB遗传算法工具箱及应用(雷英杰)
  12. html如何退出登录,微信小程序怎么退出登录
  13. android studio开发app设置登录界面
  14. Springboot 之 使用POI读取解析Excel文件
  15. 人类的历史就是一部创业史
  16. 巴菲特致股东的一封信:1989年
  17. 云计算与大数据技术应用2020.10.15
  18. 区间DP例题(持续更新)
  19. JavaBean为什么需要序列化?
  20. 快速学习Spring Boot

热门文章

  1. 关于视频分析技术在工业工程中的应用:ECRS工时分析软件
  2. 真的神了~无意中发现1500道的2021LeetCode算法刷题pdf笔记
  3. linux的可执行文件是什么后缀
  4. linux虚拟键盘onboard设置,求助,安装屏幕虚拟键盘onboard出错。
  5. MATLAB人脸识别系统
  6. 斐讯k2p 月光银 硬件版本A2-软件版本22.7.8.5 刷官改系统
  7. BPM 与 SOA的演进与展望
  8. python与乐高ev3结合_乐高Ev3嵌入式系统(Python)的图像识别
  9. ARM 汇编语言教程
  10. 基于STC89C52单片机的智能灯光毕业设计论文