主要内容

smoothdata

平滑噪声数据

描述

例子

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

  • 如果一个是一个矩阵smoothdata计算每列下的移动平均值。

  • 如果一个是一个多维数组吗smoothdata作用于尺寸不等于1的第一个维度。

  • 如果一个那么,表格或时间表是否带有数字变量smoothdata分别对每个变量进行操作。

例子

B= smoothdata (一个昏暗的沿维数作用昏暗的一个.例如,如果一个是一个矩阵smoothdata (2)平滑每一行的数据一个

例子

B= smoothdata (___方法指定前两种语法的平滑方法。例如,B = smoothdata (A,“sgolay”)使用萨维茨基-戈莱滤波器平滑数据一个

例子

B= smoothdata (___方法窗口指定平滑方法使用的窗口长度。例如,smoothdata(“movmedian”,5)平滑数据一个通过取五个元素滑动窗口的中位数。

例子

B= smoothdata (___nanflag指定如何对于任何前面的语法都将处理值。“omitnan”忽略了价值观和“includenan”在每个窗口内计算时包括它们。

例子

B= smoothdata (___名称,值指定使用一个或多个名称-值对参数进行平滑的附加参数。例如,如果t是一个时间值的向量吗smoothdata(“SamplePoints”,t)平滑数据一个相对于现在的时代t

例子

B窗口) = smoothdata (___也返回移动的窗口长度。

例子

全部折叠

创建一个包含噪声数据的向量,并用移动平均来平滑数据。绘制原始的和平滑的数据。

x = 1:10 0;= cos(2 *π* 0.05 * x + 2 *π*兰德)+ 0.5 * randn (1100);B = smoothdata(一个);情节(x,,“o”, x、B“- x”)传说(“原始数据”“平滑数据”

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表原始数据,平滑数据。

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

x = 1:10 0;s1 = cos(2 * 0.03π* * x + 2 *π*兰德)+ 0.5 * randn (1100);s2 = cos(2 * 0.04π* * x + 2 *π*兰德)+ 0.4 * randn (1100) + 5;s3 = cos(2 *π* 0.05 * x + 2 *π*兰德)+ 0.3 * randn - 5 (1100);= (s1);s2;s3);B = smoothdata (2);情节(x, B (1:), x, B (2:), x, B (3,:))

图中包含一个轴对象。轴对象包含3个类型为line的对象。

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

x = 1:10 0;= cos(2 *π* 0.05 * x + 2 *π*兰德)+ 0.5 * randn (1100);[B, window] = smoothdata(A,“高斯”);窗口
窗口= 4

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

C = smoothdata (,“高斯”, 20);情节(x, B,“o”, x, C,“- x”)传说(“小窗”“大窗口”

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表小窗口,大窗口。

创建一个噪声矢量包含值,并平滑忽略数据,这是默认值。

A = [NaN randn(1,48) NaN randn(1,49) NaN];B = smoothdata(一个);

平滑数据,包括值。窗口中包含的平均值

C = smoothdata (,“includenan”);

把平滑的数据画进去BC

情节(1:10 0 B“o”1:10 0 C“- x”)传说(“忽视南”“包括南”

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示忽略NaN,包括NaN。

创建一个与时间向量相对应的噪声数据向量t.平滑数据相对于时间t,并绘制原始数据和平滑数据。

x = 1:10 0;= cos(2 *π* 0.05 * x + 2 *π*兰德)+ 0.5 * randn (1100);T = datetime(2017,1,1,0,0,0) + hours(0:99);B = smoothdata (A,“SamplePoints”t);情节(t),“o”t、B“- x”)传说(“原始数据”“平滑数据”

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表原始数据,平滑数据。

输入参数

全部折叠

输入数组,指定为向量、矩阵、多维数组、表或时间表。如果一个是一个表或时间表,那么要么变量必须是数字,要么必须使用“DataVariables”名称-值对以显式列出数值变量。在处理也包含非数值变量的表时,指定变量非常有用。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|表格|时间表

复数的支持:金宝app是的

要操作的维数,指定为正整数标量。如果没有指定值,则默认为大小不等于1的第一个数组维度。

考虑一个矩阵一个

B = smoothdata (1)的每个列中的数据进行平滑处理一个

B = smoothdata (2)平滑每一行的数据一个

一个是一张桌子或时刻表,昏暗的不支持。金宝appsmoothdata分别对每个表或时间表变量进行操作。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

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

  • “movmean”-在每个窗口移动平均一个.这种方法对减少数据中的周期趋势是有用的。

  • “movmedian”-移动中值在每个窗口一个.这种方法对于在异常值存在时减少数据的周期趋势是有用的。

  • “高斯”的每个窗口的高斯加权移动平均一个

  • “洛斯”线性回归的每个窗口一个.这种方法计算昂贵,但产生的不连续点较少。

  • “黄土”的每个窗口的二次回归一个.这种方法在计算上比“洛斯”

  • “rlowess”的每个窗口的稳健线性回归一个.这种方法是该方法的一个计算成本更高的版本“洛斯”,但它对异常值更为稳健。

  • “rloess”的每个窗口的稳健二次回归一个.这种方法是该方法的一个计算成本更高的版本“黄土”,但它对异常值更为稳健。

  • “sgolay”- Savitzky-Golay滤波器,它根据一个二次多项式进行平滑,该二次多项式被拟合在每个窗口上一个.当数据变化迅速时,该方法比其他方法更有效。

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

窗口是一个正整数标量,那么窗口是围绕当前元素和包含窗口1相邻的元素。如果窗口是偶数,则窗口围绕当前和以前的元素居中。如果窗口是一个正整数的二元向量吗f [b],则窗口包含当前元素,b元素向后,f元素。

一个有时间表或时间吗“SamplePoints”指定为datetime持续时间向量,窗口必须是类型持续时间,窗口是相对于样本点计算的。

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

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|持续时间

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

  • “omitnan”——忽略值。如果一个窗口包含所有值,然后smoothdata返回

  • “includenan”——包括值在每个窗口内计算时,导致

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:smoothdata(“SmoothingFactor”,0.5)
数据选项

全部折叠

样本点,指定为逗号分隔对,由“SamplePoints”当输入数据是表时,可以是样本点值向量或下表中的选项之一。样本点代表x-轴位置的数据,必须被排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]是默认的。

当输入数据是一个表时,您可以使用以下选项之一将示例点指定为表变量。

表输入选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

“Var1”

“Var1”

标量变量指数

标量表变量索引

3.

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真正的指定相应的变量作为样本点,所有其他元素都是

(真的假的假的)

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄,逻辑标量必须为真正的仅用于一个表变量

@isnumeric

vartype下标

属性生成的表下标vartype函数,只返回一个变量的下标

vartype(数字)

请注意

当输入数据为金宝app时间表.时间表总是使用行时间向量作为样本点。要使用不同的样本点,必须编辑时间表,以便行时间包含所需的样本点。

移动窗口是相对于样本点定义的。例如,如果t那么,时间向量是否与输入数据相对应呢smoothdata(兰德(1 10)3,SamplePoints, t)有一个窗口表示时间间隔-1.5 t(我)t(我)+ 1.5

当样本点向量具有数据类型时datetime持续时间,则移动窗口长度必须有类型持续时间

例子:smoothdata (A ' SamplePoints 0:0.1:10)

例子:smoothdata (T,“SamplePoints”,“Var1”)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|datetime|持续时间

要操作的表变量,指定为逗号分隔对,由“DataVariables”这张表中有一个选项。的“DataVariables”值指示输入表中要平滑的变量。表中未指定的其他变量“DataVariables”通过到输出而不被操作。

选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

“Var1”

“Var1”

变量名向量

字符向量或字符串数组的单元格数组,其中每个元素是表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

可变指标的标量或向量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真正的包含相应的变量和不包括它

(真的假的真的)

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄

@isnumeric

vartype下标

属性生成的表下标vartype函数

vartype(数字)

例子:smoothdata (T“DataVariables”[“Var1”“Var2”“Var4”])

平滑的选项

全部折叠

窗口大小因子,指定为逗号分隔对,由“SmoothingFactor”从0到1的标量。一般来说,值“SmoothingFactor”通过缩放启发式窗口大小来调整平滑级别。接近0的值产生更小的移动窗口长度,导致更小的平滑。接近1的值产生更大的移动窗口长度,导致更平滑。在某些情况下,根据确定启发式窗口大小的输入数据,值“SmoothingFactor”可能对所使用的窗口大小没有显著影响smoothdata

“SmoothingFactor”是默认的0.25,只能在什么时候指定窗口没有指定。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

萨维茨基-戈莱度,指定为逗号分隔对,由“度”和一个非负整数。此名称-值对只能在“sgolay”为指定的平滑方法。的价值“度”对应于Savitzky-Golay过滤器中适合每个窗口内数据的多项式的次数,默认为2。

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

输出参数

全部折叠

输出数组,以向量、矩阵、多维数组、表或时间表的形式返回。B大小是一样的吗一个

窗口长度,返回为一个正整数标量、一个正整数的双元素向量、一个正持续时间标量或一个正持续时间的双元素向量。

窗口作为输入参数指定,则输出值与输入值匹配。当窗口不是指定为输入参数,则其值是启发式地由smoothdata基于输入数据。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|持续时间

算法

当平滑方法的窗口大小未指定时,smoothdata基于启发式计算默认窗口大小。对于平滑因子τ,启发式估计一个移动平均窗口大小,该窗口大小衰减约为输入数据能量的100*τ %。

扩展功能

介绍了R2017a