c语言随机误差分析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
误差理论与数据处理 姓名: 班级: 学号: 随机误差分析 随机误差: 在实际相同条件下,多次测量同一量值时,其绝对值和符号无法预计的测量误差。 2,思路及公不: 1)不等精度:首先输入一组数据(输入个数为10,若要输入其余数值对N进行修 改), 测量所得值; 算术平均值为:x= ( xl+x2+x3+ ? ? ? +xn ) /n; 残余误差:vi=xi-x; 标准差: 、贝塞尔公式:(n-1)]; 、别捷尔斯法:1.253X E | vi | /Vn(n-l); 2)不等精度的测量 首先对权值进行处理 pl: p2: ??? : pn=各组数据标准差平方的倒数之比; 加权算术平均值:Lpi*xi/Lpi; 加权算术平均值的标准差:单位权测量值的标准差/VEpi; 编程如下: include ”stdio.h” ^include stdlib.h #include math.h1 double d[100J; double xl=0.0,x2=0.0,x3=0.0,average=0.0; //1分布表a=0.01 double T[]={63.66,9.92,5.84,4.60,4.03,3.71,3.50, 3.36,3.25,3」7,3.11,3.05,3.01,2.9 2.95,2.92,2.90,2.込 2.86,2.85,2.83, 2.82,2.81,2.80,2.79,2.78,2.77,2.76, 2.76,2.75,2.70,2.68,2.66,2.65,2.64, 2.63,2.63,2.58}; 〃求平均数 double average_fun(double datas[],int datas num) { int k=0; fdr(k=0;kdatas_num;k++) { average+=datas[k]; } average/=datas_num; return average; } 〃求残差 double surplus(int num,double a[],double x) { int ij;double c[100],w; for(i=0;inum;i++) c[i]=a[i]-x; d[i]=c[i]; } printfC*求得的残余误差为:\n ”); for(j=0;jnum;j++) printf(n%f ”,d|j]); for(i=0; inum; i++) { w+=d[i]; } retum(w); } 〃校核算术平均值 void check(int num,double w) {double A; printf(n该算术平均值末位数的一个单位是:”); scanf(”%f ,A); if(num%2==0) { if(wnum/2.0*A) { printf(”该算术平均值不正确!\n”); } else print该算术平均值正确!\n”); } else if(w(num/2.0-0.5)*A) { printf(”该算术平均值不正确!\n”); } else printfC该算术平均值正确!\n”); //判断系统误差 judge l(int num) {int tj;double m=O.O,n=O.O,z=O.O; if(num%2==0) {t=num/2; forU=0;jt;j ++) m+=d[j]; for(j=t;jnum;j++) n+=dU]; z=m-n; } else { t=(num+l)/2; for(j=0;jt;j ++) m+刑]; Br (j=t ;j num ;j++) n+=d[j]; z=m-n;printf(n%lf,z); if(z=0.002) printfC*无系统误差\n”); else printf(n有系统误差\n”); } 〃求标准差 std(int num,double data[]) {double m=0.0;int k; for(k=O;knum;k-H-) { m+=data[k]*data[k]; } x 1 =sqrt(m/(num-l)); x2=x l/(sqrt(num)); } 〃判別粗大误差 void judge2(int w) {int i; for(i=0;iw;i-H-) {if(d[i]3*xl) printf(”该数据有粗大误差\岸); else printfC*该数据无粗大误差\n”); } } 〃求极限误差 limit(int num) {double t=0.0; t=T[num-l]; x3=t*x2; } 〃求结果 bear(int datas_num,double datas[J) {double y=0.0,k=0.0;int i; fbr(i=O;idat

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档