从数组中剔除异常的采样数据(matlab或C对数组的编程)

信号采集中,数据存入数组。假设data[]={1,2,7,7,8,9,9,10,7,8,15,23},7,7,8,9,9,10,7,8属于正常数据,1,2,15,23认为... 信号采集中,数据存入数组。假设 data[]={1,2,7,7,8,9,9,10,7,8,15,23},7,7,8,9,9,10,7,8属于正常数据,1,2,15,23认为是异常数据。能否编写程序(matlab或C语言),从数组中判别并剔除异常数据,获得正常数据7,7,8,9,9,10,7,8。
备注:正常数据是指数组中大部分非常接近的数值(可自定义阈值|xi-xj|<a, a=4)
异常数据是指少量的偏移正常数据较大的数值。
展开
 我来答
我行我素850915
推荐于2017-10-09 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1712万
展开全部
data=[1,2,7,7,8,9,9,10,7,8,15,23]'; % 输入数据
mu = mean(data);% 计算平均值
a=4;%输入阈值
outliers = abs(data - mu) > a;%求出离群值的位置
nout = sum(outliers) % 计算离群值的个数并显示
data(outliers) = [];%去除离群值
data'%显示处则晌顷谨早理后数据

按上面的语句孙陆试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式