噪声数据的线性分割

8视图(30天)
奥马尔Alahmad
奥马尔Alahmad 2020年9月2日
编辑: 布鲁诺陈德良 2020年9月3日
你好,
我想我的嘈杂的数据划分为一组线性段。
在上面的图。我可以测量红色的噪声信号。信号在它的本质应该是由线性段。
这有一个健壮的方法进行分割吗?即红色嘈杂的数据转换成黑色的部分。
谢谢!
问候,
奥马尔

接受的答案

明星黾
明星黾 2020年9月2日
这将是更容易和你的数据。没有他们,我创造了我自己。
试试这个:
x = 0:32;
y =[-0.5 *(0:11) + 10 +兰迪(12)[1],1日,4.5 *(12:14)-50 +兰迪([1],1,3),0 *(15:28)+ 13 +兰迪([1],1、14),4 *(29:32)+ 129 +兰迪([1],1、4)];
Lv = ischange (y,“线性”,“阈值”5);
Idx =[1找到(Lv),元素个数(y)];
k = 1:元素个数(Idx) 1
P (:, k) = [x (Idx (k)) 1;x (Idx (k + 1)) 1] \ y (Idx (k, k + 1))。”;
结束
:斜坡= P (1)
拦截= P (2:)
情节(x, y,“o”)
持有
情节(x (Idx), y (Idx),“p”)
持有
网格
轴([0 35 0 15])
在这种运行,产生这一情节:
这些数据:
山坡上=
-0.6667 - 3.6667 0 -3.0000
拦截=
11.0000 -41.0000 14.0000 98.0000
您可能需要调整 “阈值” 值(这里 5 )来处理您的数据。它应该产生适当的斜坡和拦截的回归。的 ischange 函数中引入 R2017b 。一个类似的功能, findchangepts 在信号处理工具箱(明显不同参数和输出)了 R2016a
5个评论
图像分析
图像分析 2020年9月3日
奥马尔,你似乎并没有得到提示,让我很清楚: 附加任何数据,你有困难.mat回形针图标文件。

登录置评。

答案(1)

布鲁诺陈德良
布鲁诺陈德良 2020年9月3日
编辑:布鲁诺陈德良 2020年9月3日
类似的话题讨论 在这里
使用我的解决方案 BSFK
%产生随机数据
N = 5;%的数量线性段+ 1
休息= cumsum([0,1 +兰德(1,N)));
yb =兰德(大小(断裂));
系数= 0 (N, 2);
k = 1: N
系数(k) = polyfit(优惠([k, k + 1])休息(k), yb ([k, k + 1]), 1);
结束
页=结构(“形式”,“页”,
“优惠”,休息,
“块”N
“系数”系数,
“秩序”2,
“暗”1);
n = 1000;%数据点的数量
σ= 0.01;%高斯噪声性病
x = linspace (min(减免),max(减免),n);
y = ppval (pp、x) + 0.05 * randn(大小(x));
% %
关闭所有
BSFK (x, y, 2[][],结构(“annimation”1));% FEX

类别

找到更多的在数据预处理帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!