matlab-罗曼诺夫斯基准则剔除粗大值
2024-09-27 12:44:21
罗曼诺夫斯基准则原理
罗曼诺夫斯基准则又称 t检验准则,其特点是首先删除一个可疑的的测得值,然后按 t分布检验被剔除的测量值是否含有粗大误差
罗曼诺夫斯基准则
1)选取合适的显著度a,选择合适的数据处理长度n。由a、n在t分布表中查出系数K。(例如:a为0.05、n为15,则 K2.24)
2)计算处理段数据的平均值 3)计算处理段数据的标准 4)| 检测值 - 计算处理段数据的平均值 | > K*计算处理段数据的标准差,如果成立则检测值为粗大值,需要剔除。
实现代码
function out = fun_romanovsky(data, l, a)
% 功能:罗曼诺夫斯基准则剔除粗大值
% 参数:
% data 输入数据
% l 分段长度
% a 显著度
% 返回值:剔除粗大值后的数据
[m,n] = size(data);
if m > 1
data = data';
end
if length(data) <= l
out = NaN;
return;
end
out = data;
i1 = 1;
i2 = 1;
while ( i1 <= length(data)-l )
temp = data(i1:i1+l);
data_mean = mean(temp);
% v = temp - data_mean;
% 求方差
temp_std = std(temp);
% K由l、a查表所得
K = 2.24;
if abs(data(i1 + l) - data_mean) > K*temp_std
out(i2 + l) = NaN;
data(i1 + l)= [];
else
i1 = i1 + 1;
end
i2 = i2 + 1;
end
end
测试代码
data = [20.42 20.43 20.40 20.43 20.42 20.43 20.30 20.40 20.43 20.42 20.41 20.39 20.39 20.40 20.40 21.40 20.43 20.39 20.60 20.39 20.42 20.40 20.43];
data1= fun_romanovsky(data, 15, 0.05);
x = 1:length(data);
figure(2);
plot(x, data, 'b-', x , data1, 'ro');
legend('处理前','处理后');
效果图
最新文章
- jq使用技巧
- jquery判断多个input输入框不能输入相同的值
- ubuntu中chromium无法播放flash,安装flash
- maven - 安装与配置
- macbook pro的usb串口失效的的处理方法
- BestCoder8 1001.Summary(hdu 4989) 解题报告
- jQuery判断当前元素是第几个元素
- github中non-fast-forward错误的解决
- java中传递数组的写法
- 通过yum安装Nagios
- laravel Authentication and Security
- [JSP] c:forEach 如何输出序号 - luotangsha的专栏 - 博客频道 - CSDN.NET
- 简单模板view调用
- Salesforce的对象关系
- html5页面调用手机打电话功能
- mysql创建外键注意事项
- 11G新特性 -- ASM Fast Mirror Resync
- Android:使用 DownloadManager 进行版本更新
- web前端----JavaScript(JS)简单介绍
- Android Studio - 安卓开发工具 打开后报错集合、修复指南
热门文章
- ZooKeeper 典型应用场景-Master选举
- 初识EMC
- NO.006-2018.02.11《卜算子&#183;我住长江头》宋代:李之仪
- [19/03/16-星期六] 常用类_Date时间类&;DateFormat类
- 2018.12.22 Spring学习02
- out 和ref 的区别
- QS:vue中qs的使用
- Android学习笔记_62_手机安全卫士知识点归纳(2)ListView重要属性 PopupWindow应用
- IP地址获取当前地理位置(省份)的接口
- ADO.NET 之 Entity Framework 基础