迈克尔逊干涉仪.docx

上传人:b****5 文档编号:5924576 上传时间:2023-01-02 格式:DOCX 页数:10 大小:1.13MB
下载 相关 举报
迈克尔逊干涉仪.docx_第1页
第1页 / 共10页
迈克尔逊干涉仪.docx_第2页
第2页 / 共10页
迈克尔逊干涉仪.docx_第3页
第3页 / 共10页
迈克尔逊干涉仪.docx_第4页
第4页 / 共10页
迈克尔逊干涉仪.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

迈克尔逊干涉仪.docx

《迈克尔逊干涉仪.docx》由会员分享,可在线阅读,更多相关《迈克尔逊干涉仪.docx(10页珍藏版)》请在冰豆网上搜索。

迈克尔逊干涉仪.docx

迈克尔逊干涉仪

迈克尔逊干涉测波长的c语言程序

这个程序是我将c语言用在处理大物实验的数据上,此程序是处理迈克尔逊干涉实验数据的c语言程序,这个程序经过我反复的修改与验证,不但能准确计算实验结果,而且赋予了它智能化,能判断误差大的实验数据,还能将数据结果存入c盘下的txt新建文件夹中,方便将字体放大查看,或存入手机中查看!

好了,多的我就不说了,大家用了就知道了!

我上传的文档分为5个部分:

1.我做实验时所测得的数据

2.我写的实验报告的数据处理部分

3.我在电脑上的运行结果

4.程序源代码

5.数据输出文件

1.下面是我做实验时所测得的数据:

单位:

mm

d0

d1

d2

d3

d4

d5

冒出

31.66699

31.68391

31.70046

31.71728

31.73402

31.75091

缩进

31.47001

31.45342

31.43753

31.42128

31.40479

31.38869

2.下面是我写的实验报告的数据处理部分:

(1)冒出Δd1的计算:

(2)缩进Δd2的计算:

(3)Δd的计算

(4)波长λ的计算

(5)相对误差的计算

E=|λ测量-λ标准|/λ标准

(6)绝对误差的计算

Δλ=Eλ测量

(7)测量结果:

λ=λ±Δλ=(6.6±0.3)×102nm

E=4.3%

3.下页是我运行的结果:

4.下面是程序源代码:

#include

#include

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;

}

main()

{

floatd0,d1,d2,d3,d4,d5;

floatd10,d11,d12,d13,d14,d15;

doublem,h,j,e,f,x,n,cd,ab,ef,gh,q,p1,p2,m2;

FILE*wf;

printf("\t\t\t迈克尔逊干涉测波长的C语言程序\n");

printf("温馨提示:

所输数据单位必须为:

mm\n");

printf("请依次输入冒出的d0,d1,d2,d3,d4,d5五个数以空格间隔,即输完第一个数,按空格再输第二个数,输完d5请按回车\n");

qw:

scanf("%f%f%f%f%f%f",&d0,&d1,&d2,&d3,&d4,&d5);

wf=fopen("c:

\\新建文件夹.txt","w");

fprintf(wf,"\t\t\t迈克尔逊干涉测波长的C语言程序\n");

fprintf(wf,"温馨提示:

所输数据单位必须为:

mm\n");

fprintf(wf,"所输入的d0,d1,d2,d3,d4,d5依次为:

\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\n",d0,d1,d2,d3,d4,d5);

if(d0>0&&d1>0&&d2>0&&d3>0&&d4>0&&d5>0)

{

ab=d0+d1+d2;

cd=d3+d4+d5;

m=cd-ab;

m=m/9;

p1=m;

if(m<0)

{

printf("\n冒出与缩进输反了,系统已经进行智能化处理,下面输缩进,也要输成冒出的数据\n");

fprintf(wf,"\n冒出与缩进输反了,系统已经进行智能化处理,下面输缩进,也要输成冒出的数据\n");

}

m=fabs(m);

printf("请依次输入缩进的d10,d11,d12,d13,d14,d15五个数以空格间隔,即输完第一个数,按空格再输第二个数,输完d5请按回车\n");

er:

scanf("%f%f%f%f%f%f",&d10,&d11,&d12,&d13,&d14,&d15);

if(d10>0&&d11>0&&d12>0&&d13>0&&d14>0&&d15>0)

{

gh=d10+d11+d12;

ef=d15+d14+d13;

n=gh-ef;

n=n/9;

p2=n;

if(n<0)

{

printf("冒出与缩进输反了,系统已经进行智能化处理,不会影响测量结果\n");

fprintf(wf,"冒出与缩进输反了,系统已经进行智能化处理,不会影响测量结果\n");

}

n=fabs(n);

h=(m+n)/2;

j=2*h/50;

j=j*10000;

m2=j*100;

e=j-6.328;

q=e*100;

f=fabs(e);

f=f/6.328;

f=f*100;

if(j>6.0116&&j<6.6444)

{

if(p1>0&&p2>0)

{

printf("\n冒出:

Δd1=%fmm\n缩进:

Δd2=%fmm\nΔd=%fmm\n",m,n,h);

printf("波长λ=%4.2fnm\n相对误差:

e=%4.1f%s\n绝对误差k=%4.1fnm\n",m2,f,"%",q);

printf("\n\n测量结果:

\n波长λ=(%3.1f±%3.1f)e+002nm\n\n相对误差e=%4.1f%s\n",j,e,f,"%");

printf("\n注释:

e+002表示10的平方");

fprintf(wf,"\n:

冒出Δd1=%fmm\n缩进:

Δd2=%fmm\nΔd=%fmm\n",m,n,h);

fprintf(wf,"波长λ=%4.2fnm\n相对误差:

e=%4.1f%s\n绝对误差k=%4.1fnm\n",m2,f,"%",q);

fprintf(wf,"\n\n测量结果:

\n波长λ=(%3.1f±%3.1f)e+002nm\n\n相对误差e=%4.1f%s\n",j,e,f,"%");

fprintf(wf,"\n注释:

e+002表示10的平方");

fclose(wf);

}

else

{

printf("\n冒出:

Δd1=%fmm\n缩进:

Δd2=%fmm\nΔd=%fmm\n",n,m,h);

printf("波长λ=%4.2fnm\n相对误差:

e=%4.1f%s\n绝对误差k=%4.1fnm\n",m2,f,"%",q);

printf("\n\n测量结果:

\n波长λ=(%3.1f±%3.1f)e+002nm\n\n相对误差e=%4.1f%s\n",j,e,f,"%");

printf("\n注释:

e+002表示10的平方");

fprintf(wf,"\n冒出:

Δd1=%fmm\n缩进:

Δd2=%fmm\nΔd=%fmm\n",n,m,h);

fprintf(wf,"波长λ=%4.2fnm\n相对误差:

e=%4.1f%s\n绝对误差k=%4.1fnm\n",m2,f,"%",q);

fprintf(wf,"\n\n测量结果:

\n波长λ=(%3.1f±%3.1f)e+002nm\n\n相对误差e=%4.1f%s\n",j,e,f,"%");

fprintf(wf,"\n注释:

e+002表示10的平方");

fclose(wf);

}

}

else

printf("所测数据误差太大\n");

}

else

printf("输入有误,请重新输入\n");

gotoer;

}

else

printf("输入有误,请重新输入\n");

gotoqw;

}

5.下面是数据输出文件(将计算结果存入txt文件中,便于将字体放大阅读或存入手机中阅读,程序默认将数据输出文件存入c盘的新建文件夹中)

(1)缩进与冒出顺序正确:

迈克尔逊干涉测波长的C语言程序

温馨提示:

所输数据单位必须为:

mm

所输入的d0,d1,d2,d3,d4,d5依次为:

31.6669931.6839131.7004631.71728

31.7340231.75091

冒出:

Δd1=0.016761mm

缩进:

Δd2=0.016244mm

Δd=0.016503mm

波长λ=6.6e+002nm

相对误差:

e=4.3%

绝对误差k=27.3nm

(2)缩进与冒出顺序输反的情况:

迈克尔逊干涉测波长的C语言程序

温馨提示:

所输数据单位必须为:

mm

所输入的d0,d1,d2,d3,d4,d5依次为:

31.4700131.4534231.4375331.42128

31.4047931.38869

冒出与缩进输反了,系统已经进行智能化处理,下面输缩进,也要输成冒出的数据

冒出与缩进输反了,系统已经进行智能化处理,不会影响测量结果

冒出:

Δd1=0.016761mm

缩进:

Δd2=0.016244mm

Δd=0.016503mm

波长λ=6.6e+002nm

相对误差:

e=4.3%

绝对误差k=27.3nm

测量结果:

波长λ=(6.6±0.3)e+002nm

相对误差e=4.3%

注释:

e+002表示10的平方

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1