Matlab实现普朗克函数

做论文实验需要普朗克函数,在CSDN发现了这个算法,不错分享了。记录下来~~~~

普朗克函数+图像

在这里插入图片描述
代码:

clear all;
close all;
c1=3.741832;%第一辐射常数
c2=14387.86;%第二辐射常数
for T=270:10:370 % 设置辐射温度(K)
l=0.0001:0.02:15; % 设置波长范围及计算步长
M=1e+4.*(c1./(l.^5)./(exp(c2./(l.*T))-1)); % 计算指定温度光谱辐出度
plot(l,M,'-b','LineWidth',1.4) % 绘制光谱辐出度曲线
maxM = max(M) % 找出指定温度最大光谱辐出度
i=find(maxM==M); % 找峰值波长点
text(l(i+20),M(i+20),[num2str(T),'K'],'VerticalAlignment',...
'baseline','HorizontalAlignment','left','fontsize',7)
hold on % 在指定位置按给定方式标记对应温度
end
set(gca,'XTick',[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) %设置横坐标点
xlabel('\lambda / \mum') % 横坐标名称及单位
ylabel('M_{b\lambda} / W\cdotcm^{-2}\cdot\mum^{-1}') % 纵坐标名称及单位
hold off
  • 16
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Matlab是一种功能强大的数值计算和可视化工具,可以用来绘制普朗克函数普朗克函数描述了黑体辐射的频谱分布。它的表达式为: B(λ, T) = (2*h*c^2 / λ^5) * (1 / (e^(h*c / (λ*k*T)) - 1)) 其中,B(λ,T)是频率为λ的黑体辐射的辐射强度,h是普朗克常数,c是光速,λ是波长,k是玻尔兹曼常数,T是绝对温度。 为了在Matlab中绘制普朗克函数,我们可以按照以下步骤进行: 1. 定义所需参数,包括h、c、k和T的值。 2. 使用linspace函数创建波长范围。例如,可以使用lambda = linspace(1e-9, 3e-6, 1000)生成从1纳米到3微米的1000个波长点。 3. 根据普朗克函数的表达式,计算每个波长点的辐射强度。可以使用上述步骤中定义的参数和循环语句对每个波长进行计算。 4. 使用plot函数绘制波长点对应的辐射强度。可以将波长作为x轴,辐射强度作为y轴。 以下是绘制普朗克函数的示例代码: ```matlab % 定义参数 h = 6.62607015e-34; % 普朗克常数 c = 2.99792458e8; % 光速 k = 1.380649e-23; % 玻尔兹曼常数 T = 5000; % 温度,单位为开尔文 % 创建波长范围 lambda = linspace(1e-9, 3e-6, 1000); % 计算辐射强度 B = (2*h*c^2 ./ lambda.^5) .* (1 ./ (exp(h*c ./ (lambda*k*T)) - 1)); % 绘制普朗克函数 plot(lambda, B); xlabel('波长 (m)'); ylabel('辐射强度 (W/m^2/sr/m)'); title('普朗克函数'); grid on; ``` 运行上述代码后,Matlab会生成一个绘制了普朗克函数的图形。图形的x轴是波长,单位为米;y轴是辐射强度,单位为瓦特每平方米每立体弧度每米。可以根据实际需要调整参数和绘图选项,以获得不同的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Escape the bug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值