实验二 实验报告 随机误差的概率分布与数据处理.docx
- 文档编号:2332968
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:8
- 大小:59.77KB
实验二 实验报告 随机误差的概率分布与数据处理.docx
《实验二 实验报告 随机误差的概率分布与数据处理.docx》由会员分享,可在线阅读,更多相关《实验二 实验报告 随机误差的概率分布与数据处理.docx(8页珍藏版)》请在冰豆网上搜索。
实验二实验报告随机误差的概率分布与数据处理
实验报告:
实验二随机误差的概率分布与数据处理
1.利用Matlab语句(或C语言),计算算术平均值和标准差(用贝塞尔公式)
clc;clear;
l=[20.4220.4320.4020.4320.4220.4320.3920.3020.4020.4320.4220.4120.3920.3920.40];%例2-22数据
v0=l-mean(l)%残差列
M1=mean(l)%算术平均值
M2=std(l)%标准差
计算结果
数据分布
2.利用Matlab语句(或C语言),用残余误差校核法判断测量列是否存在线性和周期性系统误差
%残余误差校核法校核线性系统误差
N=length(l)%原数组长度
if(mod(N,2))%求数组半长
K=(N+1)/2
else
K=(N)/2
end
A1=0;
delta=0;%delta=A1-A2
fori=1:
K;%计算前半部分残差和
A1=A1+v0(i);
end
A2=0;
forj=K+1:
N;%计算后半部分残差和
A2=A2+v0(j);
end
A1;
A2;
fprintf('Delta校核结果\n');
delta=A1-A2%校核结果
%阿贝-赫梅特准则校核周期性系统误差
u=0
fori=1:
N-1;
u=u+v0(i)*v0(i+1);
end
u=abs(u)
if((u-sqrt(N-1)*M30)>0)
fprintf('存在周期性系统误差\n');
else
fprintf('未发现周期性系统误差\n');
end
运行结果
可见delta近似于0,由马利克夫准则可知,此案例中应用的残余误差校核法无法确定是否存在系统误差。
3.用不同公式计算标准差后通过比较判断测量数据有无系统误差
%不同公式计算标准差比较法
sigema1=0;
sigema2=0;
u=0;
fori=1:
N%贝塞尔公式
sigema1=sigema1+v0(i)^2;
end
sigema1=sqrt(sigema1/(N-1))
fori=1:
N%别捷尔斯公式
sigema2=sigema2+abs(v0(i));
end
sigema2=1.253*sigema2/sqrt(N*(N-1))
u=sigema2/sigema1-1
if(abs(u)>=(2/sqrt(N-1)))
fprintf('怀疑测量列中存在系统误差\n');
else
fprintf('不确定测量列中是否存在系统误差\n');
end
运行结果
4.利用Matlab语句(或C语言),用罗曼诺夫斯基准则和格罗布斯准则判别有无粗大误差
%罗曼诺夫斯基法则判断是否存在粗大误差
j=1;%以下开始去除粗大误差
fori=1:
N
if(i==8)
i=i+1;
continue
else
l1(j)=l(i);
j=j+1;
end
end
N1=length(l1);
v1=l-mean(l1);%去除粗大误差数据后的残差列
Averagae_lmnfsj=mean(l1);%去除粗大误差数据后的算术平均值
Standard_lmnfsj=0;
fori=1:
N1
Standard_lmnfsj=Standard_lmnfsj+v1(i)^2;
end
Standard_lmnfsj=sqrt(Standard_lmnfsj/(N1-1));%去除粗大误差数据后的标准差
if((abs(l(8)-Averagae_lmnfsj)-2.24*Standard_lmnfsj)>0)
fprintf('测量列中存在粗大误差,第8项数据存在粗大误差\n');
else
fprintf('测量列中不存在粗大误差\n');
end
运行结果
%格布罗斯法则判断是否存在粗大误差
l1=sort(l);
N=length(l);
Average_gbls=mean(l);
Standard_gbls=0;
fori=1:
N
Standard_gbls=Standard_gbls+v0(i)^2;
end
Standard_gbls=sqrt(Standard_gbls/(N-1));%未去除粗大误差数据的标准差
%检查g1
g1=(Average_gbls-l1
(1))/Standard_gbls;%g
(1)
%检查gn
gn=(l1(N)-Average_gbls)/Standard_gbls;%g(n)
if(g1>=2.41)
fprintf('第一项测量值含有粗大误差\n');
fprintf('现在去除该项,重新计算\n');
else
if(gn>=2.41)
fprintf('最后一项测量值含有粗大误差\n');
fprintf('现在去除该项,重新计算\n');
else
fprintf('测量值不含有粗大误差\n');
end
end
%去除含有粗大误差的数据后重新计算
l20=sort(l);
j=1;%以下开始去除粗大误差
fori=2:
N
l2(j)=l20(i);
j=j+1;
end
v2=l2-mean(l2);
N2=length(l2);
Average_gbls=mean(l2);
Standard_gbls=0;
fori=1:
N2
Standard_gbls=Standard_gbls+v0(i)^2;
end
Standard_gbls=sqrt(Standard_gbls/(N2-1));%去除粗大误差数据的标准差
%检查g1
g1=(Average_gbls-l2
(1))/Standard_gbls;%g
(1)
%检查gn
gn=(l2(N2)-Average_gbls)/Standard_gbls;%g(n)
if(g1>=2.37)
fprintf('第一项测量值含有粗大误差\n');
fprintf('现在去除该项,重新计算\n');
else
if(gn>=2.37)
fprintf('最后一项测量值含有粗大误差\n');
fprintf('现在去除该项,重新计算\n');
else
fprintf('测量值不含有粗大误差\n');
end
end
运行结果:
5.利用Matlab语句(或C语言),计算算术平均值的标准差和极限误差
%计算算术平均值的标准差和极限误差
M1=mean(l);%算术平均值
M2=std(l);%标准差
N=length(l);
sigema_std=M2/sqrt(N)
S_lim=2.14*sigema_std
fprintf('算术平均值的标准差为%d\n',sigema_std);
fprintf('算术平均值的极限误差为(-%d,+%d\n)',S_lim,S_lim);
运行结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 实验报告 随机误差的概率分布与数据处理 实验 报告 随机误差 概率 分布 数据处理