不同温度的黑体强度曲线[简单]

时间:2015-12-04 13:39:26

标签: matlab

我写了一个函数,根据波长温度计算强度。这就是温度600 K的代码:

function f=radiation(l,t)

l = linspace(0,10^-5,100); % The interval for the wavelength
a = 3.7415*10^(-16) ;      % constant
b = 0.014388;              % constant
t=600;                     % Setting the temperature to 600 K
f = a./(l.^5.*(exp(b./(l*t))-1)); 
plot(l,f)

现在我想在同一个窗口中绘制不同温度的曲线而不必重复代码。我怎样才能以一种干净的方式做到这一点?

1 个答案:

答案 0 :(得分:4)

这是一种无需循环多个温度的方法:

l = linspace(0,10^-5,100); % The interval for the wavelength
a = 3.7415*10^(-16) ;      % constant
b = 0.014388;              % constant
t=[600,800,1000,1200];
figure;             
[t,l] = meshgrid(t,l);
f = a./(l.^5.*(exp(b./(l.*t))-1)); 
plot(l,f)
legend(num2str(t(1,:)'))

这给了我以下内容:

enter image description here