smoothdata.

平稳嘈杂数据

描述

例子

B.= smoothdata(一种使用固定窗口长度返回矢量的元素的移动平均值,该窗口长度是启发性地确定的。窗口向向量的长度滑动,计算每个窗口内的元素的平均值。

  • 如果一种是一个矩阵,然后smoothdata.计算每列的移动平均值。

  • 如果一种那是一个多维数组smoothdata.沿着尺寸不等于1的第一维操作。

  • 如果一种是一个数字变量的表或时间表,然后smoothdata.单独在每个变量上运行。

例子

B.= smoothdata(一种暗淡沿着维度操作暗淡一种。例如,如果一种是一个矩阵,然后SmoothData(A,2)平滑每行数据一种

例子

B.= smoothdata(___方法指定先前语法中的任何一个的平滑方法。例如,b = smoothdata(a,'sgolay')使用savitzky-golay过滤器来平滑数据一种

例子

B.= smoothdata(___方法窗户指定平滑方法使用的窗口的长度。例如,SmoothData(a,'movmedian',5)平滑数据一种通过将中位于五元素的滑动窗口。

例子

B.= smoothdata(___nanflag.指定如何对以前的任何语法进行处理。'omitnan'忽略价值观和'IncludeNan'在每个窗口内计算时都包括它们。

例子

B.= smoothdata(___名称,价值指定使用一个或多个名称值对参数进行平滑的其他参数。例如,如果T.那是时间值的矢量,然后smoothdata(a,'samplepoints',t)平滑数据一种相对于时间T.

例子

[B.窗户] = smoothdata(___还返回移动窗口长度。

例子

全部收缩

创建包含嘈杂数据的向量,并使用移动平均值平滑数据。绘制原始和平滑的数据。

x = 1:100;a = cos(2 * pi * 0.05 * x + 2 * pi * rand)+ 0.5 * randn(1,100);b = smoothdata(a);绘图(x,a,'-O',x,b,'-X') 传奇('原始数据''平滑数据'

创建一个矩阵,其行代表三个噪声信号。使用移动平均值光滑三个信号,并绘制平滑的数据。

x = 1:100;s1 = cos(2 * pi * 0.03 * x + 2 * pi * rand)+ 0.5 * randn(1,100);s2 = cos(2 * pi * 0.04 * x + 2 * pi * rand)+ 0.4 * randn(1,100)+ 5;S3 = cos(2 * pi * 0.05 * x + 2 * pi * rand)+ 0.3 * randn(1,100) -  5;a = [s1;S2;S3];b = smoothdata(a,2);绘图(x,b(1,:),x,b(2,:),x,b(3,:))

使用高斯加权移动平均滤波器平滑噪声数据矢量。显示过滤器使用的窗口长度。

x = 1:100;a = cos(2 * pi * 0.05 * x + 2 * pi * rand)+ 0.5 * randn(1,100);[b,window] = smoothdata(a,'高斯');窗户
窗口= 4.

使用更大的长度20窗口平滑原始数据。绘制两个窗口长度的平滑数据。

c = smoothdata(a,'高斯'20);绘图(x,b,'-O',x,c,'-X') 传奇('小窗口''大窗口'

创建一个嘈杂的传染媒介值,并平滑数据忽略,这是默认值。

a = [纳兰纳(1,48)Nan Randn(1,49)Nan];b = smoothdata(a);

平滑数据包括价值观。包含窗户的平均值

c = smoothdata(a,'IncludeNan');

绘制平滑的数据B.C

情节(1:100,B,'-O',1:100,c,'-X') 传奇('忽略南''包括南'

创建与时间向量对应的嘈杂数据的向量T.。相对于时间顺利的数据T.,并绘制原始数据和平滑数据。

x = 1:100;a = cos(2 * pi * 0.05 * x + 2 * pi * rand)+ 0.5 * randn(1,100);T = DateTime(2017,1,1,0,0,0,0,0,0,0)+小时(0:99);b = smoothdata(a,'samplepoints',t);绘图(t,a,'-O',t,b,'-X') 传奇('原始数据''平滑数据'

输入参数

全部收缩

输入数组,指定为矢量,矩阵,多维数组,表或时间表。如果一种是一个表或时间表,那么变量必须是数字,或者你必须使用'datavariables'名称 - 值对明确列出数字变量。使用还包含非数字变量的表格,指定变量很有用。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|逻辑|桌子|时间表

复数支持:金宝app是的

维度运行,指定为正整数标量。如果没有指定值,则默认值是第一个数组维度,其大小不等于1。

考虑一个矩阵一种

b = smoothdata(a,1)平滑每列中的数据一种

b = smoothdata(a,2)平滑每行数据一种

什么时候一种是一个表或时间表,暗淡不受支持。金宝appsmoothdata.沿每个表或时间可变分别操作。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

平滑方法,指定为以下之一:

  • 'movmean'- 在每个窗口上移动平均值一种。该方法可用于减少数据的周期性趋势。

  • 'movmedian'- 在每个窗口上移动中位数一种。此方法可用于在存在异常值时减少数据的周期性趋势。

  • '高斯'- 每个窗口的高斯加权移动平均值一种

  • '洛杉矶'- 在每个窗口上线性回归一种。该方法可以计算得昂贵,但导致不连续性较少。

  • '黄土'- 每个窗口的二次回归一种。这种方法略高于计算昂贵'洛杉矶'

  • 'rlowess'- 在每个窗口上鲁棒线性回归一种。此方法是该方法的更昂贵版本'洛杉矶',但对异常值更加强大。

  • 'rloess'- 在每个窗口上强大的二次回归一种。此方法是该方法的更昂贵版本'黄土',但对异常值更加强大。

  • 'sgolay'- Savitzky-Golay过滤器,根据拟合在每个窗口上的二次多项式平滑一种。当数据快速变化时,该方法可以比其他方法更有效。

窗口长度,指定为正整数标量,正整数的两个元素矢量,正持续时间标量或正持续时间的两个元素矢量。

什么时候窗户是一个正整数标量,然后窗口以当前元素为中心,并包含窗口1邻居元素。如果窗户甚至,窗口符合当前和以前的元素。如果窗户是正整数的两个元素矢量[b f],然后窗口包含当前元素,B.元素向后,和F元素前进。

什么时候一种是一个时间表或何时'samplepoints'被指定为一个约会时间或者期间向量,窗户必须是类型期间,并且相对于采样点计算窗口。

当窗口长度也指定为输出参数时,输出值与输入值匹配。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|期间

条件,指定为以下值之一:

  • 'omitnan'- 忽略输入中的值。如果窗口包含全部那么值smoothdata.回报

  • 'IncludeNan'- 包括计算每个窗口内时的值,导致

名称值对参数

指定可选的逗号分离对名称,价值论点。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:SmoothData(A,'SmoothingFactor',0.5)

窗口大小因子,指定为逗号分隔的配对组成'smoothingfactor'和标量程从0到1。值'smoothingfactor'通过缩放启发式窗口大小来调整平滑水平。近0附近的值会产生较小的移动窗口长度,导致平滑较小。近1附近的值产生较大的移动窗口长度,导致更平滑。

'smoothingfactor'默认情况下是0.25,只能指定何时窗户未指定。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

示例点,指定为逗号分隔对组成'samplepoints'和矢量。采样点代表数据的位置一种。样品点不需要均匀采样。默认情况下,采样点向量是[1 2 3 ...]

移动窗口相对于样本点定义,必须对其进行排序并包含唯一元素。例如,如果T.是与输入数据相对应的时间的矢量SmoothData(Rand(1,10),3,'SamplePoints',T)有一个代表之间的时间间隔的窗口T(i)-1.5T(i)+1.5

当样本点向量具有数据类型时约会时间或者期间,然后移动窗口长度必须具有类型期间

当输入数据是时间表时,不支持该名称值对。金宝app

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|约会时间|期间

表格变量,指定为逗号分隔对组成'datavariables'和变量名,变量名称的单元阵列,数字矢量,逻辑向量,函数句柄或表格vartype.下标。这'datavariables'值表示输入表的哪些变量流畅,并且可以是以下之一:

  • 指定单表变量名称的字符矢量

  • 每个元素是表变量名称的一个字符向量的单元格数组

  • 表可变指数的矢量

  • 逻辑向量,其元素每个元素对应于表变量,其中真的包括相应的变量和错误的不包括它

  • 将表作为输入的函数句柄,返回逻辑标量

  • 一张桌子vartype.下标

例子:'年龄'

例子:{'身高体重'}

例子:@Isnumeric.

例子:vartype('numeric')

Savitzky-Golay学位,指定为逗号分隔的配对组成'程度'和一个非负整数。此名称值对只能指定何时'sgolay'是指定的平滑方法。的价值'程度'对应于Savitzky-Golay滤波器中的多项式的程度,该滤波器适合每个窗口内的数据,默认为2。

的价值'程度'必须小于窗口长度均匀采样点。对于非均匀样本点,该值必须小于任何窗口中的最大点数。

输出参数

全部收缩

输出数组,返回为向量,矩阵或多维数组。B.与尺寸和类型相同一种

窗口长度,作为正整数标量返回,正整数的两个元素矢量,正持续时间标量或正持续时间的两个元素矢量。

什么时候窗户被指定为输入参数,输出值与输入值匹配。什么时候窗户未指定为输入参数,那么其值是标量的启发式决定smoothdata.基于输入数据。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|期间

算法

未指定平滑方法的窗口大小,smoothdata.基于启发式计算默认窗口大小。对于平滑因子τ,启发式估计移动平均窗口大小,其衰减输入数据的能量的大约100×百分比。

扩展能力

在R2017A介绍