双棱镜干涉Word文档格式.docx
《双棱镜干涉Word文档格式.docx》由会员分享,可在线阅读,更多相关《双棱镜干涉Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
![双棱镜干涉Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/11/6bc3c40b-c0b0-4036-99ac-efff63e3ae5e/6bc3c40b-c0b0-4036-99ac-efff63e3ae5e1.gif)
1.216
2.170
3.170
4.216
5.173
6.152
7.019
8.023
9.018
A1
d11
d12
A2
d21
d22
525.3
6.287
3.601
1169.2
6.831
7.047
2.下面是我写的实验报告的数据处理部分:
(1)两次成像透镜移动的距离A
(2)两虚像间的距离d的计算:
(3)光源到屏的距离D的计算:
(4)相邻暗或亮条纹间的距离Δx的计算:
(5)波长λ的计算:
(6)测量结果:
波长λ=643.2nm
相对误差:
e=1.6%
绝对误差k=10.6nm
测量结果:
波长λ=(6.4±
0.2)e+002nm
相对误差e=1.6%
注释:
e+002表示10的平方
3.下页是我运行的结果:
4.下面是程序源代码:
#include<
stdio.h>
math.h>
doublemax(doublef)
{
doublek,l,g;
k=f;
l=(int)f;
l=k-l;
l=l*10;
g=l;
l=(int)l;
g=g-l;
g=g/10;
if(g>
=0.05)
f=f;
else
f=f+0.1;
returnf;
}
voidmain()
{
floatx1,x2,x3,x4,x5,x6,x7,x8,x9,x10;
floatA1,d11,d12,A2,d21,d22,A,d1,d2;
doubleq,m,n,d,D,x,y,f,e,k,l,h,cd,ab,ef;
FILE*wf;
wf=fopen("
c:
\\新建文件夹.txt"
"
w"
);
printf("
\t\t\t\t双棱镜干涉测波长\n"
温馨提示:
所测数据的单位必须全化为mm\n"
变量解释:
\nA1,A2表示透镜在光具座上的相应两个位置\n"
d11,d12表示测微目镜测量虚光源放大像的位置\n"
d21,d22表示缩小像的两个位置\n"
fprintf(wf,"
x1,x2,x3,x4,x5,x6,x7,x8,x9,x10表示测微目镜干涉条纹所在位置对应的读数\n"
\n请依次输入x1,x2,x3,x4,x5,x6,x7,x8,x9,x10的值,十个数之间以空格间隔,即输完第一个,按空格再输第二个,输完x10请按回车:
\n"
hjk:
scanf("
%f%f%f%f%f%f%f%f%f%f"
&
x1,&
x2,&
x3,&
x4,&
x5,&
x6,&
x7,&
x8,&
x9,&
x10);
所输入的x1,x2,x3,x4,x5,x6,x7,x8,x9,x10分别是%.3f\t%.3\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\n"
x1,x2,x3,x4,x5,x6,x7,x8,x9,x10);
请依次输入A1,d11,d12,三个数之间以空格间隔,输完d12请按回车\n"
scanf("
%f%f%f"
A1,&
d11,&
d12);
所输入的A1,d11,d12依次是:
%.1f\t%.3f\t%.3f\n"
A1,d11,d12);
请依次输入A2,d21,d22,三个数之间以空格间隔输完d22请按回车\n"
A2,&
d21,&
d22);
所输入的A2,d21,d22依次是:
A2,d21,d22);
if(x1>
0.0&
&
x2>
x3>
x4>
x5>
x6>
x7>
x8>
x9>
x10>
A1>
0.0
d11>
d12>
A2>
d21>
d22>
0.0)
A=A1-A2;
A=fabs(A);
d1=d11-d12;
d1=fabs(d1);
m=sqrt(d1);
d2=d21-d22;
d2=fabs(d2);
n=sqrt(d2);
d=d1*d2;
d=sqrt(d);
D=A*(m+n)/(m-n);
x=(x6+x7+x8+x9+x10-x1-x2-x3-x4-x5);
x=x/25;
y=d*x/D;
y=y*1000000;
ef=y/100;
e=y-632.8;
e=fabs(e);
e=e/632.8;
k=y*e;
e=e*100;
f=y*e/100;
ab=f/100;
cd=max(ab);
if(y>
601.16&
y<
664.44)/*此处为He-Ne激光器所测结果,如果光源不同,此处可进行适量修改*/
{printf("
\n两次成像透镜移动的距离A=%.1fmm\n"
A);
放大像两条线的间距d1=%.3fmm\n"
d1);
printf("
缩小像两条线的间距d2=%.3fmm\n"
d2);
两虚像间的距离d=%.3fmm\n"
d);
根号d1=%.3f\n"
m);
根号d2=%.3f\n"
n);
光源到屏的距离D=%.3fmm\n"
D);
相邻暗或亮条纹间距Δx=%.3fmm\n"
x);
\n波长λ=%4.1fnm\n相对误差:
e=%4.1f%s\n绝对误差k=%4.1fnm"
y,e,"
%"
k);
\n\n测量结果:
\n波长λ=(%3.1f±
%3.1f)e+002nm\n相对误差e=%4.1f%s\n"
ef,cd,e,"
e+002表示10的平方\n"
fprintf(wf,"
放大像两条线的间距d1=%.3fmm\n"
缩小像两条线的间距d2=%.3fmm\n"
两虚像间的距离d=%.3fmm\n"
相邻暗或亮条纹间距Δx=%.3fmm\n"
fclose(wf);
}
所测数据误差太大\n"
else
printf("
输入有误,请重新输入\n"
gotohjk;
5.下面是数据输出文件(将计算结果存入txt文件中,便于将字体放大阅读或存入手机中阅读,程序默认将数据输出文件存入c盘的新建文件夹中)
所测数据的单位必须全化为mm
A1,A2表示透镜在光具座上的相应两个位置
d11,d12表示测微目镜测量虚光源放大像的位置
d21,d22表示缩小像的两个位置
所输入的x1,x2,x3,x4,x5,x6,x7,x8,x9,x10分别是0.2591.2162.1703.1704.2165.1736.1527.0198.023
525.36.2873.601
1169.26.8317.047
两次成像透镜移动的距离A=643.9mm
放大像两条线的间距d1=2.686mm
缩小像两条线的间距d2=0.216mm
两虚像间的距离d=0.762mm
根号d1=1.639
根号d2=0.465
光源到屏的距离D=1153.646mm
相邻暗或亮条纹间距Δx=0.974mm