资源描述:
《用双棱镜测波长的程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、双棱镜干涉实验#includedoublemax(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;elsef=f+0.1;returnf;}voidmain(){floatx1,x2,x3,x4,x5,x6,x7,x8,x9,x10,fabs(),sqrt();floatA1,d11,d12,A2,d21,d22,A,d1,d2;doubleq,m,n,d,D,x,y,f,e,
2、k,l,h,cd,ab,ef;printf("tttt双棱镜干涉测波长");printf("温馨提示:所测数据的单位必须全化为mm");printf("请依次输入x1x2x3x4x5x6x7x8x9x10的值:");scanf("%f%f%f%f%f%f%f%f%f%f",&x1,&x2,&x3,&x4,&x5,&x6,&x7,&x8,&x9,&x10);printf("请依次输入A1,d11,d12");scanf("%f%f%f",&A1,&d11,&d12);printf("请依次输入A
3、2,d21,d22");scanf("%f%f%f",&A2,&d21,&d22);if(x1>0.0&&x2>0.0&&x3>0.0&&x4>0.0&&x5>0.0&&x6>0.0&&x7>0.0&&x8>0.0&&x9>0.0&&x10>0.0&&A1>0.0&&d11>0.0&&d12>0.0&&A2>0.0&&d21>0.0&&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(d
4、2);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("波长λ=%4.1fe+0
5、02nm相对误差:e=%4.1f%s绝对误差k=%4.1fnm",ef,e,"%",k);printf("测量结果:波长λ=(%3.1f±%3.1f)e+002nm相对误差e=%4.1f%s",ef,cd,e,"%");}elseprintf("所测数据误差太大");}elseprintf("输入有误");}