APP下载

C语言下迈克耳孙干涉仪测量空气折射率的实验探究*

2017-08-30张之韬李雪梅

物理通报 2017年8期
关键词:干涉仪气室折射率

张之韬 李雪梅

(浙江海洋大学数理与信息学院 浙江 舟山 316000)

C语言下迈克耳孙干涉仪测量空气折射率的实验探究*

张之韬 李雪梅

(浙江海洋大学数理与信息学院 浙江 舟山 316000)

通过压强变化时显示屏上干涉条纹出现或者消失的数量,迈克耳孙干涉仪可以测定空气的折射率.实验中测量的物理量较多,人工处理数据比较繁琐,且容易出错,因此使用C语言处理数据.运行相关程序后可以直接得到不同气压下空气的折射率,处理过程快捷精确.C语言处理数据时,对实验数据进行了最小二乘法处理,可以得到空气折射率随气压变化的拟合直线.

迈克耳孙干涉仪 空气折射率 压强 干涉条纹 C语言

1 引言

介质为真空时折射率为1,而气体的折射率比1略大.即使是同种气体,在不同的外界环境中,它们的折射率也不一样.气体的折射率与温度、压强有关.外部的环境因素导致空气折射率的改变,从而在较大程度上影响实验精度.因此,探究空气压强对空气折射率的影响具有很好的实践意义.迈克耳孙干涉仪在压强变化时可以测量干涉条纹出现或者消失的条数,从而可以计算得到不同气压的空气折射率.本文巧用C语言对实验数据进行最小二乘法的直线拟合,并对数据进行综合分析和处理,能够快速、准确得到实验结果.

2 迈克耳孙干涉仪测定空气折射率的原理

使用FB-202迈克耳孙干涉仪测量空气的折射率,光路图如图1所示.

如果空间距离L2和L1保持不变,在其中一个光路中放置一个长度为L的气室.如果气室内初始处于真空状态,当向气室内充气使压强由零变到p时,气室中的空气折射率由1变到n,从而使光屏中心点的条纹消失或出现的数目是m,则3个物理量的变化满足下面的关系式

(1)

图1 光路图

由式(1)就可以测出在空气压强为p时被测光的折射率n.但实际测量时,气室不可能抽成真空,气室中不可能完全达到压强为零的状态,因此实际测量时采用下述的方法.

一般温度t处于15~30 ℃的范围内时,理论的空气折射率的数值可用下式求出[4]

(2)

因此,温度不变时,折射率n随压强p线性变化.由式(1)可知,气室内压强由零变到p时,条纹出现或者消失的数目m也随压强p线性变化,因此

(3)

代入式(1) 则有

(4)

由式(4)看出,只要测出气室内压强改变Δp时的干涉条纹出现或消失的数目Δm,就可以计算压强是p时的空气折射率n.实验时,先向气室里充空气以达到较高压强,然后慢慢地间断放气,数出每个小的放气过程中光屏上干涉条纹出现或消失的数目,同时通过气压测量仪器测量气室中对应时刻的气压值.使用C语言对气压p和折射率n进行最小二乘法的拟合,并由此得到常温下空气折射率的实验值,与式(2)计算的相应理论值相比较,求出实验测量值的百分差[1~3].

3 实验数据处理和分析

3.1 数据记录表格

实验室大气压p0= 100 800 Pa=1 008 hPa,气温t=16.4 ℃,气室长度L=15.85×10-2m,激光波长λ0=632.8×10-9m,实验所得数据如表1所示.

3.2 C语言程序处理数据

考虑到实验中得到的折射率可以精确到小数点后6位,用普通的画图工具(如Excel)不能很精确地得到拟合直线的斜率和截距.因为C语言可以定义双精度变量,计算精度很高,所以本文采用C语言处理数据和进行直线的拟合[5,6].

程序如下(本程序在C-Free下实现):

#include

#define N 10 ∥N为要拟合的数据的个数

double X[10]= {1646,1589,1527,1470,1409,1339,1274,1214,1148,1087};

double Z[10]= {58,62,56,62,70,66,61,67,61,62};

double U[10]= {9,9,8,9,10, 9,9,10,9,9};

double Y[10]={0,0, 0,0, 0,0, 0,0, 0,0};

double K=0; ∥拟合直线的斜率

double R=0; ∥拟合直线的截距

double Pone=0; ∥压强理论值

double Ptwo=0; ∥压强实验值

double E=0; ∥百分差

double x_sum_average=0; ∥数组 X[N] 个元素求和 并求平均值

double y_sum_average=0; ∥数组 Y[N]个元素求和 并求平均值

double x_square_sum=0; ∥数组 X[N]个个元素的平均值

double x_multiply_y=0; ∥数组 X[N]和Y[N]对应元素的乘积

double Squre_sum(double c[N]) ;

double Sum_Average(double d[N]);

double X_Y_By(double m[N],double n[N]);

double Squre_sum( double c[N]);

void Line_Fit(void);

void Line_Fit(void)

x_sum_average= Sum_Average(X);

y_sum_average= Sum_Average(Y);

x_square_sum = Squre_sum(X);

x_multiply_y = X_Y_By(X,Y);

K= ( x_multiply_y - N * x_sum_average * y_sum_average)/( x_square_sum - N * x_sum_average*x_sum_average );

R= y_sum_average - K * x_sum_average;

通过逻辑模型分析所获得的 “产出、成效和影响”因素,即是确定项目产出指标和效益指标的基础。在此基础上,本着全面性、重要性、可考量、不重复的要求,进行归纳、提炼,即形成项目产出指标和项目效益指标。图2以培训类项目为例,解释项目逻辑模型。

Pone=1+(2.8973*100800) /1000000000;

Ptwo=K*1008+R;

E=(Ptwo-Pone) /Pone;

printf(“K = %E ”,K);

printf(“R = %E ”,R);

printf(“E = %E%% ”,E*100);

}

double Sum_Average(double d[N])

{

unsigned int i=0;

double z=0;

for(i=0;i

{

z = z + d[i];

}

z = z/N;

return z;

}

double X_Y_By(double m[N],double n[N])

{

unsigned int i=0;

double z=0;

for(i=0;i

{

z = z + m[i]*n[i];

}

return z;

}

double Squre_sum(double c[N])

{

unsigned int i=0;

double z=0;

for(i=0;i

{

z = z + c[i]*c[i];

}

return z;

}

main(void)

{

int i=0;

for(i=0;i

{

Y[i] = 1+0.0000006328/ (2*0.1545)*(U[i]/Z[i])*X[i];

}

Line_Fit();

}

3.3 C语言程序运行结果

由图2可知,计算出的拟合直线斜率为3.134 404×10-7,拟合直线截距为9.999 796×10-1,因此实验测量数据的拟合直线为

y=3.134 404×10-7x+9.999 796×10-1

从计算结果截图还可以看出,当地常温大气压下的空气折射率测量的百分差是0.000 4%,测量精度较高.

图2 C语言程序的运行结果

4 结论

用迈克耳孙干涉仪测量空气折射率易于操作,实验设备简单.人工处理数据和人工作图比较繁琐,容易出错.本文用C语言处理数据可避免繁琐的数学计算,能够快速、精确地得到测量结果和拟合直线,提高了数据处理能力.

1 杨述武,赵立竹,沈国土.普通物理实验3光学部分.北京:高等教育出版社,2007.12

2 竺江峰, 芦立娟, 鲁晓东.大学物理实验.北京:中国科学技术出版社,2005.8

3 林仁荣. 用迈克耳逊干涉仪测量气体折射率的误差的研究. 大学物理实验,2003,16(3): 45~46

4 金群锋. 大气折射率影响因素的研究:[学位论文].杭州:浙江大学,2006

5 谭亮,高雄健,仇志天,等. C语言和Origin7.5软件在实验中的应用——以牛顿环测纯水折射率为例. 物理通报, 2013 (1): 77~80

6 朱承君,王奇峰,芦立娟,等. 基于C语言和Excel软件下光速测量仪测量玻璃折射率. 物理通报,2013 (1):71~74

Experimental Exploration on Measuring the Air Refractive Index Using the Michelson Interferometer Under C language

Zhang Zhitao Li Xuemei

(College of Mathematics Physics and Information,Zhejiang Ocean University, Zhoushan, Zhejiang 316000)

Air refractive index at different pressure can be determined with the number change of interference fringes appearing or disappearing in the screen of the Michelson interferometer, in which many physical parameters are measured. Also the data process by hands is trivial with high error probability. Therefore, the data is processed with C language. The air refractive index of different pressure can be obtained quickly and precisely with low percentage difference. Particularly, the experiment data is processed with least-square method so that the change curve of air refractive index at different pressure can be obtained.

Michelson interferometer; air refractive index; pressure; interference fringes; C language

*浙江省自然科学基金资助,项目编号:LQ16A050001;浙江海洋学院科研启动经费资助,项目编号:23025010113

张之韬(1995- ),男,在读本科生.

李雪梅(1982- ),女,副教授,主要从事激光等离子体和大学物理实验方面的研究.

2016-12-24)

猜你喜欢

干涉仪气室折射率
基于改进的迈克尔逊干涉仪对热变形特性的研究
利用光速测定仪分析空气折射率的影响因素*
用于原子干涉仪的光学锁相环系统
凸透镜是否等于会聚透镜
某重型特种车制动气室支架优化设计
非对称干涉仪技术及工程实现
原子自旋陀螺气室加热电磁噪声抑制实验研究
基于最优模糊的均匀圆阵干涉仪测向算法
一起220kV GIS设备断路器气室罐体放电原因分析
带附加气室空气弹簧悬架动力学特性分析