smoothdata
平滑噪声数据
语法
描述
例子
平滑数据与移动平均
创建一个包含噪声数据的向量,用移动平均平滑数据。绘制原始和平滑的数据。
X = 1:100;= cos(2 *π* 0.05 * x + 2 *π*兰德)+ 0.5 * randn (1100);B = smoothdata(A);情节(x)在情节(x, B)传说(“输入数据”,“平滑数据”)
噪声数据矩阵
创建一个矩阵,其行表示三个噪声信号。使用移动平均线平滑三个信号,并绘制平滑数据。
X = 1:100;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);A = [s1;s2;s3);B = smoothdata(A,2);情节(x, B (1:))在plot(x,B(2,:)) (x,B(3,:))“s1”,“s2”,“s3”)
高斯滤波器
用高斯加权移动平均滤波器平滑噪声数据向量。显示筛选器使用的窗口长度。
X = 1:100;= cos(2 *π* 0.05 * x + 2 *π*兰德)+ 0.5 * randn (1100);[B,窗口]=平滑数据(A,“高斯”);窗口
Window = 4
平滑原始数据与更大的窗口长度20。绘制两个窗口长度的平滑数据。
C =平滑数据(A,“高斯”, 20);情节(x, B)在情节(x, C)传说(“小窗”,“大窗口”)
涉及缺失值的平滑
创建包含的噪声向量南
值,并平滑数据忽略南
值。
A = [NaN randn(1,48) NaN randn(1,49) NaN];B = smoothdata(A);
平滑数据,包括南
值。一个包含任意值的窗口中的平均值南
值是南
.
C =平滑数据(A,“includenan”);
绘制平滑的数据B
而且C
.
情节(1:10 0 B“o”)举行在情节(1:10 0 C“- x”)传说(“忽略失踪”,“包括失踪”)
平滑数据与样本点
创建一个与时间向量相对应的噪声数据向量t
.平滑数据相对于时间t
,并绘制原始数据和平滑数据。
X = 1:100;= 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)在情节(t, B)传说(“输入数据”,“平滑数据”)
输入参数
一个
- - - - - -输入数据
向量|矩阵|多维数组|表格|时间表
输入数据,指定为矢量、矩阵、多维数组、表格或时间表。如果一个
是表格还是时间表,那么要么变量必须是数字,要么必须使用DataVariables
名称-值参数显式列出数值变量。在处理包含非数字变量的表时,指定变量非常有用。
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|表格
|时间表
复数支持:金宝app是的
昏暗的
- - - - - -操作维度
正整数标量
操作维度,指定为正整数标量。如果未指定值,则默认为第一个大小不等于1的数组维数。
考虑一个米
——- - - - - -n
输入矩阵,一个
:
smoothdata (1)
的每一列中的数据进行平滑一个
并返回米
——- - - - - -n
矩阵。smoothdata (2)
平滑行中的数据一个
并返回米
——- - - - - -n
矩阵。
对于表格或时间表输入数据,昏暗的
不支持,操作将金宝app分别沿着每个表或时间表变量进行。
方法
- - - - - -平滑方法
“movmean”
(默认)|“movmedian”
|“高斯”
|“洛斯”
|“黄土”
|“rlowess”
|“rloess”
|“sgolay”
平滑方法,指定为以下值之一:
“movmean”
-每个窗口的移动平均一个
.这种方法对于减少数据的周期性趋势是有用的。“movmedian”
-移动中值在每个窗口一个
.当存在异常值时,这种方法对于减少数据中的周期性趋势非常有用。“高斯”
的每个窗口的高斯加权移动平均一个
.“洛斯”
的每个窗口的线性回归一个
.这种方法计算量大,但不连续性较少。“黄土”
的每个窗口的二次回归一个
.这种方法的计算成本略高于“洛斯”
.“rlowess”
的每个窗口的稳健线性回归一个
.这种方法是一种计算成本更高的方法“洛斯”
,但它对异常值更健壮。“rloess”
的每个窗口的稳健二次回归一个
.这种方法是一种计算成本更高的方法“黄土”
,但它对异常值更健壮。“sgolay”
- Savitzky-Golay滤波器,根据拟合在的每个窗口上的二次多项式进行平滑一个
.当数据变化迅速时,这种方法比其他方法更有效。
窗口
- - - - - -窗口长度
正整数标量|正整数的两元向量|正持续时间标量|正持续时间的两元向量
窗口长度,指定为正整数标量、正整数的两个元素向量、正持续时间标量或正持续时间的两个元素向量。
当窗口
是正整数标量,则窗口围绕当前元素居中并包含窗口1
相邻的元素。如果窗口
为偶数时,则窗口以当前元素和以前的元素为中心。
当窗口
两元向量是正整数吗f [b]
,该窗口包含当前元素,b
元素向后,和f
元素。
当一个
是时间表还是SamplePoints
指定为datetime
或持续时间
向量,窗口
必须有类型持续时间
,窗口是相对于样本点计算的。
当窗口长度也指定为输出参数时,输出值与输入值匹配。
nanflag
- - - - - -缺值条件
“omitmissing”
(默认)|“omitnan”
|“includemissing”
|“includenan”
缺少值的情况,指定为以下值之一:
“omitmissing”
或“omitnan”
——忽略南
值一个
当平滑。如果窗口中的所有元素都是南
,则对应的元素在B
是南
.“omitmissing”
而且“omitnan”
有相同的行为。“includemissing”
或“includenan”
——包括南
值一个
当平滑。如果窗口中的任何元素是南
,则对应的元素在B
是南
.“includemissing”
而且“includenan”
有相同的行为。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字
在报价。
例子:smoothdata(“SmoothingFactor”,0.5)
SamplePoints
- - - - - -采样点
向量|表变量名|标量|函数处理|表格vartype
下标
样本点,指定为样本点值的向量,如果输入数据是表格,则指定为下表中的选项之一。样本点代表x数据的-轴位置,并且必须排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]
是默认值。
当输入数据是一个表时,您可以使用以下选项之一将样本点指定为表变量:
索引方案 | 例子 |
---|---|
变量名:
|
|
变量指数:
|
|
功能处理:
|
|
变量类型:
|
|
请注意
输入数据为时,不支持此名称-值参数金宝app时间表
.时间表使用行时间向量作为样本点。若要使用不同的抽样点,必须编辑时间表,使行时间包含所需的抽样点。
移动窗口是相对于样本点定义的。例如,如果t
那么,乘以向量是否对应于输入数据smoothdata(兰德(1 10)3,“SamplePoints”,t)
是否有一个表示时间间隔的窗口-1.5 t(我)
而且t(我)+ 1.5
.
当样本点向量有数据类型时datetime
或持续时间
时,移动窗口长度必须有类型持续时间
.
例子:smoothdata(“SamplePoints”,0:0.1:10)
例子:smoothdata (T,“SamplePoints”,“Var1”)
数据类型:双
|单
|datetime
|持续时间
DataVariables
- - - - - -要操作的表变量
表变量名|标量|向量|单元阵列|模式|函数处理|表格vartype
下标
要操作的表变量,指定为此表中的选项之一。的DataVariables
Value表示要平滑输入表中的哪些变量。
表中未指定的其他变量DataVariables
传递到输出而不被平滑。
索引方案 | 例子 |
---|---|
变量名:
|
|
变量指数:
|
|
功能处理:
|
|
变量类型:
|
|
例子:smoothdata(T,"DataVariables",["Var1" "Var2" "Var4"])
ReplaceValues
- - - - - -替换值指示器
真正的
或1
(默认)|假
或0
替换值指示符,指定为这些值之一时一个
表或时间表:
真正的
或1
-将输入表变量替换为包含平滑数据的表变量。假
或0
-使用包含平滑数据的表变量附加输入表变量。
对于向量、矩阵或多维数组输入数据,ReplaceValues
不支持。金宝app
例子:smoothdata (T,“ReplaceValues”,假)
SmoothingFactor
- - - - - -窗口大小因子
0 ~ 1之间的标量
窗口大小因子,指定为从0到1的标量。的值SmoothingFactor
通过缩放启发式窗口大小来调整平滑级别。接近0的值产生更小的移动窗口长度,导致更少的平滑。接近1的值产生更大的移动窗口长度,从而产生更平滑的效果。在某些情况下,根据从中确定启发式窗口大小的输入数据,的值SmoothingFactor
可能不会对所使用的窗口大小产生重大影响smoothdata
.
SmoothingFactor
默认为0.25,仅当窗口
未指定。
学位
- - - - - -Savitzky-Golay程度
非负整数
Savitzky-Golay度,指定为非负整数。此名称-值参数只能在以下情况下指定“sgolay”
指定的平滑方法。的价值学位
对应于Savitzky-Golay滤波器中拟合每个窗口内数据的多项式的次,默认为2。
的价值学位
必须小于均匀采样点的窗口长度。对于非均匀采样点,该值必须小于任意窗口中的最大点数。
输出参数
B
-平滑数据
向量|矩阵|多维数组|表|时间表
平滑的数据,以矢量、矩阵、多维数组、表格或时间表的形式返回。
B
尺寸和一个
除非ReplaceValues
是假
.如果的值ReplaceValues
是假
的宽度B
输入数据宽度与指定的数据变量数量的和。
窗口
-窗口长度
正整数标量|正整数二元向量|正持续时间标量|正持续时间二元向量
窗口长度,以正整数标量、正整数的两个元素向量、正持续时间标量或正持续时间的两个元素向量的形式返回。
当窗口
指定为输入参数时,输出值与输入值匹配。当窗口
没有指定为输入参数,那么它的值是由启发式标量确定的smoothdata
根据输入的数据。
算法
当平滑方法的窗口大小未指定时,smoothdata
根据启发式计算默认窗口大小。对于平滑因子τ,启发式估计了一个移动平均窗口大小,该窗口大小衰减了输入数据大约100*τ %的能量。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
使用注意事项和限制:
不支持高时间表。金宝app
的
“rlowess”
而且“rloess”
方法不受支持。金宝app不支持多输出。金宝app
您必须指定窗口大小。不支持自动选择窗口大小。金宝app
的
SamplePoints
而且SmoothingFactor
不支持名称-值参数。金宝app的价值
DataVariables
不能是函数句柄。
有关更多信息,请参见高大的数组.
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
的
ReplaceValues
不支持名称-值参数。金宝app昏暗的
必须是常数。对于复杂输入
一个
,窗口
参数必须指定。适应
窗口
不支持参数。金宝app对于固定大小的代码生成,除了
一个
必须是常数。对于datetime
SamplePoints
使用datetime值或时间表输入数据RowTimes
时,必须指定窗口大小。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
在R2017a中引入R2023a:指定缺失值条件
类进行平滑时,省略或包括输入数据中缺失的值“omitmissing”
或“includemissing”
选项。选项的行为与“omitnan”
而且“includenan”
选项,分别。
R2022a:附加平滑值
对于表或时间表输入数据,使用包含平滑数据的表变量附加(而不是替换)输入表变量ReplaceValues
参数的名称-值假
.
R2021b:指定样本点作为表变量
属性将样本点指定为表变量SamplePoints
名称-值参数。
另请参阅
功能
实时编辑任务
应用程序
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。