首页 > 编程知识 正文

大学物理实验声速的测量实验数据处理,大学物理声速的测定实验报告数据处理

时间:2023-05-05 10:39:16 阅读:250045 作者:135

大学物理实验_超声声速的测量_数据处理软件_源代码1 前言

程序适用于大学物理实验_超声声速的测量的有关数据处理。本程序以NUAA大学物理实验中心所提供的的器材以及实验报告模板为基础编写。

代码(基于c++,使用dev c++环境) #include<iostream>#include<cmath>#define n 10using namespace std;int menu();int zhubo();int xiangwei();int main(){loop2:menu();int i;loop1:cin>>i;switch(i){case 1:zhubo();break;case 2:xiangwei();break;case 0:goto loop;default:cout<<"输入错误!请重新输入!"<<endl;goto loop1; } loop3:cout<<"继续请输入1,退出请输入0"<<endl;int x;cin>>x;if(x==1){goto loop2;}else if(x==0){goto loop;}else{cout<<"输入错误!请重新输入!"<<endl;goto loop3;}loop:return 0; } int zhubo() { double l[20],deltal[10],lambda[10],s=0,f,uap=0; cout<<"共振频率f:"; cin>>f;cout<<"输入L,共20组数据:(mm)"<<endl; for(int i=0;i<20;i++){cin>>l[i];} for(int i=0;i<10;i++){double a=deltal[i]=(l[i+10]-l[i]);double b=lambda[i]=deltal[i]/5;cout<<"delta l:(mm)"<<a<<endl<<"lambda:(mm)"<<b<<endl<<endl;s+=lambda[i];}double avrlambda=s/10;cout<<"average lambda:(mm)"<<avrlambda<<endl;for(int i=0;i<10;i++){uap+=(lambda[i]-avrlambda)*(lambda[i]-avrlambda);}double avrv=f*avrlambda;cout<<"average v:(m/s)"<<avrv<<endl;double ub=2*0.02/sqrt(3);double ua=sqrt(1/n/(n-1)*uap);double ulambda=sqrt(ua*ua+ub*ub);double uv=avrv*sqrt(ulambda*ulambda/avrlambda/avrlambda+0.002*0.002);cout<<"Uv:(m/s)"<<uv<<endl<<"v:(m/s)"<<"("<<avrv<<"±"<<uv<<")"<<endl; }int menu(){cout<<"超声声速的测量_数据处理程序_nuaa_phylab"<<endl;cout<<" by:bdzz date:2020.11.13 version:1.2 "<<endl;cout<<"***************************************"<<endl;cout<<"* *"<<endl;cout<<"* 请输入对应数字以选择功能 *"<<endl; cout<<"* *"<<endl;cout<<"* 1.选择驻波法测量 *"<<endl;cout<<"* 2.选择相位比较法测量 *"<<endl; cout<<"* 0.退出程序 *"<<endl; cout<<"* *"<<endl;cout<<"*readme: *"<<endl;cout<<"* 1.输出数据位数跟随系统默认(需改进) *"<<endl;cout<<"* 2.驻波法中不确定度有误差(尚未验证) *"<<endl;cout<<"* 3.需改进中途数据输入的正确性检查 *"<<endl; cout<<"***************************************"<<endl;}int xiangwei(){double l[20],deltal[10],lambda[10],r,Ps,f,p=760,s=0;int t; cout<<"温度t,相对湿度r(小数),饱和蒸气压Ps,共振频率f:"; cin>>t>>r>>Ps>>f;cout<<"输入L,共20组数据:(mm)"<<endl; for(int i=0;i<20;i++){cin>>l[i];} for(int i=0;i<10;i++){double a=deltal[i]=(l[i+10]-l[i]);double b=lambda[i]=deltal[i]/5;cout<<"delta l:(mm)"<<a<<endl<<"lambda:(mm)"<<b<<endl<<endl;s+=lambda[i];}double vt=331.45*sqrt((1+t/273.15)*(1+0.31*r*Ps/p));cout<<"Vt:(m/s)"<<vt<<endl;double avrlambda=s/10;cout<<"average lambda':(mm)"<<avrlambda<<endl;double avrv=f*avrlambda;cout<<"average v':(m/s)"<<avrv<<endl;double Ev=(avrv-vt)/vt;cout<<"Ev:"<<Ev*100<<"%"<<endl;

bdzz于csdn的第一篇博客。 ↩︎

React父组件调用子组件中的方法实例详解

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。