- 通过摄谱仪获得的谱线与数据库中钠原子光谱数据相对比,得知对应的线系;
- 谱线的波长满足一系列的波长公式,形式上都是初态和末态的光谱项值的差;
- 通过两条(已知初末态的量子数即可)同线系下的谱线的波长公式作差,可以得到固定项方程,相应的可以解出量子缺;
- 光谱项值映射谱线能级,各参数的到之后可以画出能级跃迁图;
function q = fixeq(x)
%fixeq 发射谱固定相方程
%
n1:第一条谱线末态量子数;n2:第二条末态量子数;v1:第一条波数;v2:第二条波数
global n1 n2 v1 v2
R=109737.31;
q=(v1+R./(n1-x).^2)-(v2+R./(n2-x).^2);
end
function del = findqd( a,b,c,d )
%findqd 计算量子亏损
%
参数分别为,主量子数,波长,第二条谱线主量子数,第二条波长
global n1 n2 v1 v2
n1=a;n2=c;
v1=b;v2=d;
%x=0:0.01:1;plot(x,fixeq(x));
del=fsolve('fixeq',0);
end
function T= Fix( n,fixqd )
%Fix 钠原子固定项
% n:主量子数,fixqd;量子缺
R=109737.31;
T=(-1)*R/(n-fixqd)^2;
end
clear all
data=xlsread('Na_Data.xlsx');
(1)
leng=length(data(:,1));
%输入的谱线对的数量
%%%%%%%%%%%%%求量子缺
answer=zeros(leng,8);
answer(:,1:4)=data(:,1:4);
x=1:leng;
%x=num2cell(x');
%answer(1,:)={'s';'初态量子数';'初态波长/nm';'末态量子数';'末态波长/nm';'初态波数*cm';'末态波数*cm';'波数差*cm';'量子缺'}';
%answer(:,1)=[{'组序号'};x(1:leng)];
for i=1:leng
answer(i,5)=10^7/data(i,2);
%将波长换算成波数,nm->cm^-1
answer(i,6)=10^7/data(i,4);
answer(i,7)=answer(i,6)-answer(i,5);
%波数差(不用里德伯插值表时没什么用)
answer(i,8)=findqd(data(i,1),answer(i,5),data(i,3),answer(i,6));
end
ans=num2cell(answer);
%用了元胞数组完成一个简单的结果展示,可以输出为excel
ans=[{'第一条谱线量子数','第一条谱线波长/nm','第二条谱线主量子数','第二条谱线波长/nm','第一条谱线波数*cm','第二条谱线波数*cm','波数差*cm','量子缺'};ans];
ans
%%%%%%%%%%%%%画能级图
clear i x
R=109737.31;
for i=1:1:leng
l=[data(i,7)-0.8,data(i,7)-0.2];
for
j=3:1:7
T=Fix(j,answer(i,8));
line1T=[Fix(answer(i,1),answer(i,8)),Fix(data(i,5),answer(data(i,6),8))];
line2T=[Fix(answer(i,3),answer(i,8)),Fix(data(i,5),answer(data(i,6),8))];
line1=[data(i,7)-0.55,data(i,6)-0.5];
line2=[data(i,7)-0.45,data(i,6)-0.5];
plot(l,ones(1,2).*T,'k','LineWidth',2);hold
on
%画能级(为了省事直接把hc放到单位里了)
symb=['S','P','D'];
text(l(2)+0.08,T,{j});text(l(2)+0.13,T,{symb(data(i,7))});
plot(line1,line1T,'b','LineWidth',1+0.5*i);
%画跃迁情况
plot(line2,line2T,'b','LineWidth',1+0.5*i);
end
end
title('钠原子能级跃迁图','fontsize',15);
ylabel('能量/hc','fontsize',10);
hold off
//////////////////////////////////////////////////////////////////////////////////////////