Engee 文档

电影,电影

移动平均线是绝对偏差。

库::`工程师`

语法

函数调用

  • [参数:M]=movmad(<参数:A>>,<参数:k>>) -通过以下方式返回局部平均绝对偏差(MAD) [参数:k] 在长度的滑动窗口中计算每个平均(绝对)偏差的点 [参数:k],其通过数组的相邻元素移动 [参数:A]. [参数:M] 大小与 [参数:A].

    如果 [参数:k] 奇数,窗口相对于当前位置的元素居中。 如果 [参数:k] 甚至,窗口相对于当前和以前的元素居中。 当没有足够的元素填充窗口时,窗口大小会在端点处自动截断。 当窗口被截断时,仅对填充窗口的元素取平均偏差。

    • 如果 [参数:A] -矢量,然后 movmad 它作用于向量的长度 [参数:A].

    • 如果 [参数:A] -一个多维数组,然后 movmad 它在第一个维度上运行 [参数:A],其大小不等于 1.

  • [参数:M]=movmad(<参数:A>>,<参数:kbkf>>) -用长度窗口计算平均偏差 kb+kf+1,其中包括当前位置的元素, kb 元素返回和 kf 我们继续吧。

  • [参数:M]=movmad(___,[参数:nanflag]) -确定是否包括或排除值 到阵列 [参数:A]. 例如, movmad(A,k,"omitnan") 忽略值 时计算各平均偏差。 默认情况下 movmad 包括值 .

  • [参数:M]=movmad(___,Name,Value) -使用一个或多个名称-值参数为移动平均线偏差设置其他参数。

争论

输入参数

# 一个 — 输入数据

+ 向量资料 | 矩阵 | 多维数组

Details

输入指定为向量、矩阵或多维数组的数据。

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, 布尔</无翻译>

# k — 窗口长度

+ 标量,标量

Details

窗口的长度,设置为标量。 如果 k —一个正整数,居中的绝对平均值包括当前位置的元素及其邻居。

例如, 电影(A,3) 计算局部三点平均偏差的值数组。

movmad 1

# *[kb kf]*是 方向窗口的长度

+ 双元素向量是一个字符串

Details

方向窗口的长度,设为包含两个元素的字符串向量。 如果 kbkf -正整数,计算由 kb+kf+1 的元素。 计算包括在当前位置的元素, kb 到当前位置的元素和 kf 当前位置之后的项目。

例如, 电影(A,[21]) 计算局部四点平均偏差的值数组。

movmad 2

# 昏暗 — 执行操作所遵循的维度

+ 正整数标量

Details

执行操作的维度被指定为正整数标量。 如果未指定维度,则默认使用数组的第一个维度,其大小不等于 1.

考虑输入矩阵 A 大小 mn:

  • 电影(A,k,1) 计算移动平均偏差 k 每列的元素 A 并返回大小的矩阵 mn.

    movmad 3

  • 电影(A,k,2) 计算移动平均偏差 k 矩阵每行的元素 A 并返回大小的矩阵 mn.

    movmad 4

# nanflag — 缺失值的条件

+ "包括" (默认情况下)| "包括" | "省略" | "奥米特南"

Details

处理缺失值的条件,由以下值之一设置:

  • "包括""包括" -启用值 [参数:A] 时计算各平均偏差。 如果窗口中有任何元素 — ,则相应的元素在 [参数:M]. 价值 "包括""包括" 他们的行为方式相同。

  • "省略""奥米特南" -忽略所有值 [参数:A] 并针对更少的点计算每个平均偏差。 如果所有元素都在窗口中 — ,则相应的元素在 [参数:M]. 价值 "省略""omitnan" 他们的行为方式相同。

名称-值输入参数

指定格式中的可选参数对 名称,值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。 名称-值参数应该放在其他参数之后,但对的顺序无关紧要。

使用逗号分隔名称和值,以及 姓名 把它放在引号里。

例子: M=movmad(A,k,"端点","填充").

# 端点 — 一种处理端点附近窗口的方法

+ "收缩" (默认情况下)| "丢弃" | "填充" | 标量,标量

Details

处理端点附近窗口的方法,由以下选项之一指定:

意义 资料描述

"收缩"

减小输入数据端点附近的窗口大小,以仅包含现有元素。

"丢弃"

如果窗口未与现有元素完全重叠,则不显示平均绝对偏差的任何值。

"填充"

将不存在的元素替换为 .

标量,标量

用指定的数字或逻辑值替换不存在的元素。

输出参数

# M — 输出数据

+ 向量资料 | 矩阵 | 多维数组

Details

作为向量、矩阵或多维数组返回的输出数据。

例子:

矢量的中心移动平均偏差

Details

计算行向量的三点居中移动平均偏差。 如果数组末尾的窗口中少于三个元素,则对可用元素执行计算。

import EngeeDSP.Functions: movmad

A = [1 2 4 -1 -2 -3 -1 3 2 1]
M = movmad(A, 3)
1×10 Matrix{Float64}:
 0.5  1.0  2.0  1.0  1.0  1.0  2.0  1.0  1.0  0.5

矩阵的移动平均偏差

Details

为矩阵的每一行计算三点为中心的移动平均偏差。 维度参数是两个,它允许您在矩阵的列中滑动 A. 窗口从第一行开始,水平滑动到行的末尾,然后移动到第二行,依此类推。

A = [1 2 1; -1 -2 -3; -1 3 4]
3×3 Matrix{Int64}:
  1   2   1
 -1  -2  -3
 -1   3   4
import EngeeDSP.Functions: movmad

M=movmad(A,3,2)
3×3 Matrix{Float64}:
 0.5  0.0  0.5
 0.5  1.0  0.5
 2.0  1.0  0.5

没有缺失值的移动平均偏差

Details

创建包含值的向量字符串 .

A = [4 8 NaN -1 -2 -3 NaN 3 4 5];

计算向量的三点居中移动平均偏差,不包括值 . 对于包含任何值的窗口 ,功能 movmad 计算考虑到除以下所有元素的值 .

import EngeeDSP.Functions: movmad

M = movmad(A, 3, "omitnan")
1×10 Matrix{Float64}:
 2.0  2.0  4.5  0.5  1.0  0.5  3.0  0.5  1.0  0.5

仅返回整个窗口的平均偏差

Details

让我们计算行向量的三点居中移动平均偏差,但丢弃使用来自输出数据的少于三个点的所有计算。 换句话说,我们将只返回为整个三元素窗口计算的平均偏差,放弃端点处的计算。

import EngeeDSP.Functions: movmad

A = [1 2 1 -1 -2 -3 -1 3 4 1];
M = movmad(A, 3, "Endpoints", "discard")
1×8 Matrix{Float64}:
 0.0  1.0  1.0  1.0  1.0  2.0  1.0  1.0

此外

平均绝对偏差

Details

对于向量 有限长度,由 对于标量观测值,平均绝对偏差定义为

.