如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
(精品word)MATLAB在测量误差分析中的应用
(精品word)MATLAB在测量误差分析中的应用
(精品word)MATLAB在测量误差分析中的应用
MATLAB在测量误差分析中的应用
在技术测量中,按照误差的特点与性质,误差可分为:系统误差,粗大误差和随机误差。在假定不含有系统误差的情况下,可借助MATLAB对测量数据进行处理,使处理过程快速、结果可靠。处理测量数据的处理过程如下:
(1)按测量的先后顺序记录下个测量值;
(2)计算算术平均值;
(3)计算残余误差;
(4)校核算术平均值及残余误差;
(5)判断是否有粗大误差,若有,剔除;
(6)计算单次测量的标准差;
(7)计算算术平均值的标准差:
(8)计算算术平均值的极限误差;
(9)列出测量结果。
误差处理时常用的MATLAB函数
序号函数名调用格式作用1absB=abs(a)求绝对值2sqrtB=sqrt(a)对向量中的值依次开平方3meanb=mean(a)求平均值4stdb=std(a)求标准差5cova=cov(x,y)求协方差6normrndW=normrnd(,,,)生成正态分布的向量7normstat[E,D]=(mu,sigma)计算正态分布的期望与方差8normfit[muhat,sigmut,muci,sigmaci]=normfit(X,Alpha)已知数据符合正态分布,对参数进行点估计和区间估计
其算法流程图如下:
开始
输入数据
计算平均值
计算残余误差
计算单次测量标准差
判断是否含粗大误差
计算算术平均值标准差S
写出计算结果
否
剔除含粗大误差的数据
例:现对某被测量进行20次测量,得到测量序列x,其中第1个数为粗大误差,需运用莱以特准则将其剔除,再对数据进行分析计算,具体程序如下:
closeall
clear
clc
x=[28.005724。997424。996224.997024。985224。997725.001225。003125。014424。996525.006225。008025。009424.990125.002125。002424。989924。992625.010824.9987];%含有粗大误差的测量值序列
aver=mean(x)%求该序列的平均值
v=x-aver;%测量值的剩余误差
s=std(x)%测量值的标准差
n=length(x);%剔除粗大误差
fori=1:n
if(abs((x(i)-aver))-3*s)〉0
fprintf('\n’)
fprintf(’%ÓдִóÎó²î:',x(i))
x(i)=0;
else
continue
end
end
x1=x(x~=0)%剔除粗大误差的新测量值序列
n1=length(x1);
aver1=mean(x1);%新序列的平均值
h1=std(x1);
aver1%测量值的最佳近似值
s1=h1/sqrt(n1)%算术平均值的标准差
运行结果:
aver=25。1502
s=0。6721
x1=24.997424.996224.997024.985224。997725。001225.003125。01444。996525.006225.008025.009424.990125.002125。002424.989924.992625.010824。9987%新序列
aver1=24。9999
s1=0。0018
由结果可知:通过上述方法处理测量数据可剔除粗大误差,极大减小测量结果的标准差,且处理过程快速、结果可靠.
17****21
实名认证
内容提供者
最近下载