C语言编程处理粗大误差Word文档下载推荐.docx
- 文档编号:15352289
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:17
- 大小:198.97KB
C语言编程处理粗大误差Word文档下载推荐.docx
《C语言编程处理粗大误差Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言编程处理粗大误差Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
2、精度
反映测量结果与真值接近程度的量,称为精度,它与误差大小相对应,因此可以用误差大小来表示精度的高低,误差小则精度高,误差大则精度低。
精度可分
ⅰ准确度它反映测量结果中系统误差的影响程度
ⅱ精密度它反映测量结果中随机误差的影响程度
ⅲ精确度它反映测量结果中系统误差和随机误差综合的影响程度,其定量特征可以用测量的不确定度来表示。
3、有效数字与数据运算
含有误差的任何近似数,如果其绝对误差界是最末位数的半个单位,那么从这个近似数左方起的第一个非零的数字,称为第一位有效数字。
从第一位有效数字起到最末一位数字止的所有数字,不论是零或非零的数字,都叫有效数字。
数字舍入规则如下:
①若舍入部分的数值,大于保留部分的末位的半个单位,则末位加1。
②若舍去部分的数值,小于保留部分的末位的半个单位,则末位不变。
③若舍去部分的数值,等于保留部分的末位的半个单位,则末位凑成偶数。
即当末位为偶数时则末位不变,当末位为奇数时则末位加1。
(2)算术平均值
对某一量进行一系列等精度测量,由于存在随机误差,其测得值皆不相同,应以全部测得值的算术平均值作为最后的测量结果。
1、算术平均值的意义
在系列测量中,被测量所得的值的代数和除以n而得的值成为算术平均值。
设,,…,为n次测量所得的值,则算术平均值
算术平均值与真值最为接近,由概率论大数定律可知,若测量次数无限增加,则算术平均值必然趋近于真值。
-
——第个测量值,=
——的残余误差(简称残差)
2、算术平均值的计算校核
算术平均值及其残余误差的计算是否正确,可用求得的残余误差代数和性质来校核。
残余误差代数和为:
当为未经凑整的准确数时,则有
1)残余误差代数和应符合:
当=,求得的为非凑整的准确数时,为零;
当>
,求得的为凑整的非准确数时,为正;
其大小为求时的余数。
当<
,求得的为凑整的非准确数时,为负;
其大小为求时的亏数。
2)残余误差代数和绝对值应符合:
当n为偶数时,A;
当n为奇数时,
式中A为实际求得的算术平均值末位数的一个单位。
(3)测量的标准差
测量的标准偏差称为标准差,也可以称之为均方根误差。
1、测量列中单次测量的标准差
式中—测量次数(应充分大)
——测得值与被测量值的真值之差
2、测量列算术平均值的标准差
3、标准差的其他计算法
1.别捷尔斯法
三、实验内容:
假定该测量列不存在固定的系统误差,则可按下列步骤求测量结果。
1、算术平均值
2、求残余误差
3、校核算术平均值及其残余误差
4、判断系统误差
5、求测量列单次测量的标准差
6、判别粗大误差
7、求算术平均值的标准差
8、求算术平均值的极限误差
9、写出最后测量结果
四、实验报告
运行编制的程序,分析运行结果。
为方便验证程序的正确性,验证课本第50页例2—22数据。
分析第九号数据,得知其存在粗大误差。
重新输入数据:
得到正确结果。
程序如下:
#include"
stdafx.h"
stdio.h"
stdlib.h"
math.h"
doublegebruce[]={1.15,1.46,1.67,1.82,1.94,2.03,
2.11,2.18,2.23,2.28,2.33,2.37,
2.41,2.44,2.48,2.50,2.53,2.56,
2.58,2.60,2.62,2.64,2.66,2.74,
2.81,2.87,2.96,3.17};
doubleT[]={63.66,9.92,5.84,4.60,4.03,3.71,3.50,
3.36,3.25,3.17,3.11,3.05,3.01,2.98,
2.95,2.92,2.90,2.88,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};
doubleaverage_fun(doubledatas[],intdatas_num);
//求平均数
voidcanyu_error_fun(doubledatas[],doublecanyu_error_data[],doubleaverage,intdatas_num);
//求残余误差
voidrevise_average_fun(doubledatas[],doublecanyu_error_data[],doubleaverage,intdatas_num);
voidjudge_system_error_fun(doublecanyu_error_data[],intdatas_num);
//判断系统误差
//马利准则
//阿卑准则
voidabei(doublecanyu_error_data[],doublestd_error_average,intdatas_num);
//求测量列单次测量的标准差
doublestd_row_fun(doublecanyu_error_data[],
intdatas_num);
//判别粗大误差
voidcrassitude_error_fun(doubledatas[],
doubleaverage,
doublestd_besia,
intliyiter(doublecanyu_error_data[],doublestd_row_besia,intdatas_num);
//求算数平均值的标准差
doublestd_error_average_fun(doublestd_bersia,intdatas_num);
//求算数平均值的极限误差
doublelimit_error_average_fun(doublestd_error_average,intdatas_num);
doublemyround(doubleval,intdigits);
intmain(intargc,char*argv[])
{
//开辟数组的指针
double*datas,*canyu_error_data;
//保存的数据
doubleaverage,canyu_error=0,std_besia=0,std_error_average=0,limit_error_average=0;
//测试数据
//doubledatas[]={24.774,24.778,24.771,24.780,24.772,24.777,24.773,24.775,24.774};
//数组长度以及一些常量
intdatas_num,j,flags;
datas_num=9;
printf("
输入你要创建的数据容量:
"
);
scanf_s("
%d"
&
datas_num);
//创建数组,数据,残余误差
datas=(double*)calloc(datas_num,sizeof(double));
canyu_error_data=(double*)calloc(datas_num,sizeof(double));
请输入你要测试的数据:
\n"
//接收数据
for(j=0;
j<
datas_num;
j++)
printf("
%d:
j+1);
scanf_s("
%lf"
datas+j);
}
//printf("
接收数据成功!
average=myround(average_fun(datas,datas_num),3);
canyu_error_fun(datas,canyu_error_data,average,datas_num);
//平均值
****************************************************\n"
平均值为:
%lf\n"
average);
//残余误差
残余误差为:
for(j=0;
{
canyu_error_data[j]);
}
//校核算术平均值
revise_average_fun(datas,canyu_error_data,average,datas_num);
//判别系统误差
马利可夫准则判定:
judge_system_error_fun(canyu_error_data,datas_num);
//测量列单次测量的标准差
std_besia=std_row_fun(canyu_error_data,datas_num);
测量列单次测量的标准差为:
std_besia);
//判别粗大误差
crassitude_error_fun(datas,average,std_besia,datas_num);
flags=liyiter(canyu_error_data,std_besia,datas_num);
莱以特准则判断粗大误差:
if(flags==0){printf("
不存在粗大误差\n"
elseprintf("
存在粗大误差,应剔除\n"
*************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 处理 粗大 误差