movvar移动方差

2023-10-24 06:40
文章标签 移动 方差 movvar

本文主要是介绍movvar移动方差,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

movvar

移动方差

全页折叠

语法

M = movvar(A,k)
M = movvar(A,[kb kf])
M = movvar(___,w)
M = movvar(___,w,dim)
M = movvar(___,nanflag)
M = movvar(___,Name,Value)

说明

示例

M = movvar(A,k) 返回由局部 k 个数据点的方差值组成的数组,其中每个方差基于 A 的相邻元素的长度为 k 的移动窗口计算得出。当 k 为奇数时,窗口以当前位置的元素为中心。当 k 为偶数时,窗口以当前元素及其前一个元素为中心。当没有足够的元素填满窗口时,窗口将自动在端点处截断。当窗口被截断时,只根据窗口内的元素计算方差。MA 的大小相同。

  • 如果 A 是向量,movvar 将沿该向量的长度运算。

  • 如果 A 为多维数组,则 movvar 沿大小不等于 1 的第一个数组维度进行运算。

示例

M = movvar(A,[kb kf]) 通过长度为 kb+kf+1 的窗口计算方差,其中包括当前位置的元素、后面的 kb 个元素和前面的 kf 个元素。

示例

M = movvar(___,w) 为上述任意语法指定归一化因子。当 w = 0 时(默认值),Mk-1k 进行归一化。当 w = 1 时,Mk 进行归一化。

示例

M = movvar(___,w,dim) 为上述任意语法返回维度 dim 上的移动方差数组。指定 dim 时,始终在上述语法中指定权重 w。例如,如果 A 是矩阵,则 movvar(A,k,0,2) 沿 A 的列运算,计算每行的 k 个元素的移动方差。归一化因子是默认值 k-1

示例

M = movvar(___,nanflag) 指定在上述任意语法的计算中包括还是忽略 NaN 值。movvar(A,k,'includenan') 会在计算中包括所有 NaN 值,而 movvar(A,k,'omitnan') 则忽略这些值并基于较少的点计算方差。

示例

M = movvar(___,Name,Value) 使用一个或多个名称-值对组参数指定方差的其他参数。例如,如果 x 是时间值向量,则 movvar(A,k,'SamplePoints',x) 相对于 x 中的时间计算移动方差。

示例

全部折叠

向量的中心移动方差

M = movvar(A,3)

M = 1×10

8.0000    4.0000   22.3333   19.0000    1.0000    1.0000    9.3333    7.0000    1.0000    0.5000

向量的尾部移动方差

M = movvar(A,[2 0])

M = 1×10

     0    8.0000    4.0000   22.3333   19.0000    1.0000    1.0000    9.3333    7.0000    1.0000

指定移动方差的归一化

M = movvar(A,3,1)

M = 1×10

4.0000    2.6667   14.8889   12.6667    0.6667    0.6667    6.2222    4.6667    0.6667    0.2500

矩阵的移动方差

M = movvar(A,3,0,2)

M = 3×3

8.0000    4.0000    2.0000
0.5000    1.0000    0.5000
8.0000    7.0000    0.5000

包含 NaN 元素的向量的移动方差

M = movvar(A,3)

M = 1×10

8.0000       NaN       NaN       NaN    1.0000       NaN       NaN       NaN    1.0000    0.5000

重新计算方差,但忽略 NaN 值。当 movvar 舍弃 NaN 元素时,它将根据窗口中的剩余元素计算方差。

M = movvar(A,3,‘omitnan’)
M = 1×10
8.0000    8.0000   40.5000    0.5000    1.0000    0.5000   18.0000    0.5000    1.0000    0.5000

基于样本点计算移动方差

k = hours(3);
t = datetime(2016,1,1,0,0,0) + hours(0:5)

t = 1x6 datetime array
Columns 1 through 3

01-Jan-2016 00:00:00 01-Jan-2016 01:00:00 01-Jan-2016 02:00:00

Columns 4 through 6

01-Jan-2016 03:00:00 01-Jan-2016 04:00:00 01-Jan-2016 05:00:00

M = movvar(A,k,‘SamplePoints’,t)
M = 1×6

8.0000    4.0000   22.3333   19.0000    1.0000    0.5000

仅返回满窗口方差

M = movvar(A,3,‘Endpoints’,‘discard’)

M = 1×8

4.0000   22.3333   19.0000    1.0000    1.0000    9.3333    7.0000    1.0000

输入参数

全部折叠

A - 输入数组
向量 | 矩阵 | 多维数组

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

数据类型: single | double | logical

k - 窗口长度
数值或持续时间标量

窗口长度,指定为数值或持续时间标量。当 k 是正整数标量时,中心方差包括当前位置的元素以及周围的相邻元素。例如,对于向量 A,由长度为三的窗口定义的三点方差将产生下列计算:

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

[kb kf] - 定向窗口长度
包含两个元素的数值或持续时间行向量

定向窗口长度,指定为包含两个元素的数值或持续时间行向量。当 kbkf 为正整数标量时,将基于 kb+kf+1 个元素进行计算。该计算包括当前位置的元素、当前位置前面的 kb 个元素以及当前位置后面的 kf 个元素。例如,对于向量 A,由定向窗口 [2 1] 定义的四点方差将产生下列计算:

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

w - 粗细
0 (默认) | 1

权重,指定为下列值之一:

  • 0 - 按 k-1 进行归一化,其中 k 是窗口长度。如果 k=1,则权重为 k

  • 1 - 按 k 实现归一化。

数据类型: single | double

dim - 沿其运算的维度
正整数标量

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

维度 dim 表示 movvar 运算所沿的维度,即指定的窗口的移动方向。

以一个二维输入数组 A 为例。

  • 如果 dim = 1,则 movvar(A,k,0,1) 从第一列开始,垂直移过每行,每次计算 k 个元素的方差。然后移到第二列,重复上述计算。此过程持续到所有列都计算完为止。参数 0 指定默认权重,这是指定 dim 时所必需的。

  • 如果 dim = 2,则 movvar(A,k,0,2) 从第一行开始,水平移过每列。每次计算 k 个元素的方差。然后移到第二行,重复上述计算。此过程持续到所有行都计算完为止。参数 0 指定默认权重,这是指定 dim 时所必需的。

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

nanflag - NaN 条件
'includenan' (默认) | 'omitnan'

NaN 条件,指定为下列值之一:

  • 'includenan' - 计算方差时包括输入中的 NaN 值,其对应输出为 NaN 值。

  • 'omitnan' - 忽略输入中的所有 NaN 值。如果窗口只包含 NaN 值,则 movvar 返回 NaN

名称-值对组参数

指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。

示例: M = movvar(A,k,'Endpoints','fill')

'Endpoints' - 用于处理前导和尾部窗口的方法
'shrink' (默认) | 'discard' | 'fill' | 数值或逻辑标量

用于处理前导和尾部窗口的方法,指定为以逗号分隔的对组,包含 'Endpoints' 和下列项之一:

'Endpoints'说明
'shrink'在窗口接近输入端点时缩小窗口的大小,从而只包括现有元素。
'discard'当窗口不与现有元素完全重叠时,不输出任何方差。
'fill'将不存在的元素替换为 NaN
数值或逻辑标量将不存在的元素替换为指定的数值或逻辑值。

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

'SamplePoints' - 用于计算方差的样本点
向量

用于计算方差的样本点,指定为以逗号分隔的对组,包含 'SamplePoints' 和一个向量。样本点表示数据在 A 中的位置。样本点不需要均匀采样。默认情况下,样本点向量为 [1 2 3 ... ]

移动窗口相对于样本点定义,样本点必须已排序并且包含唯一的元素。例如,如果 t 是与输入数据对应的时间向量,则 movvar(rand(1,10),3,'SamplePoints',t) 将有一个代表 t(i)-1.5t(i)+1.5 之间时间间隔的窗口。

当样本点向量的数据类型为 datetimeduration 时,移动窗口长度的类型必须为 duration

如果样本点的间距不均匀并且指定了 'Endpoints' 名称 - 值对组,则其值必须为 'shrink'

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration

详细信息

全部折叠

方差

对于由 N 个标量观测值组成的随机可变向量 A,方差被定义为

V=1N−1∑i=1N|Ai−μ|2

,其中,μ 是 A 的均值,

μ=1N∑i=1NAi.

某些方差定义使用 N(而不是 N-1)的归一化因子。您可以通过将 w 设置为 1 来指定因子 N。在任一情况下,都假定均值包含常见的归一化因子 N。

扩展功能

此函数支持 tall 数组,但存在以下限制:

不支持 'SamplePoints' 名称-值对组。

有关详细信息,请参阅 tall 数组。

此函数支持 C/C++ 代码生成,但有以下限制:

不支持 'SamplePoints' 名称-值对组。

用法说明和限制:

  • 不支持 'SamplePoints' 名称-值对组。

有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。

另请参阅

movmad | movmean | movmedian | movstd | var

在 R2016a 中推出

这篇关于movvar移动方差的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/273389

相关文章

双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程

《双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程》:本文主要介绍如何在Windows11系统中使用VMware17创建虚拟机,并在虚拟机中安装Ubuntu22.04桌面版或Ubunt... 目录一、首先win11中安装vmware17二、磁盘分区三、保存四、使用虚拟机进行系统安装五、遇见的错误和解决

使用FileChannel实现文件的复制和移动方式

《使用FileChannel实现文件的复制和移动方式》:本文主要介绍使用FileChannel实现文件的复制和移动方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录使用 FileChannel 实现文件复制代码解释使用 FileChannel 实现文件移动代码解释

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

Python重命名文件并移动到对应文件夹

《Python重命名文件并移动到对应文件夹》在日常的文件管理和处理过程中,我们可能会遇到需要将文件整理到不同文件夹中的需求,下面我们就来看看如何使用Python实现重命名文件并移动到对应文件夹吧... 目录检查并删除空文件夹1. 基本需求2. 实现代码解析3. 代码解释4. 代码执行结果5. 总结方法补充在

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

MENU 硬件电路设计软件程序设计正常流水LED灯反复流水LED灯移动流水LED灯 硬件电路设计 材料名称数量直插式LED1kΩ电阻杜邦线(跳线)若干面包板1 每一个LED的正极与开发板一个GPIO引脚相连,并串联一个电阻,负极接GND。 当然也可以选择只使用一个电阻。 软件程序设计 正常流水LED灯 因为要用到多个GPIO引脚,所以最好把所有的GPI

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

《C++中的移动构造函数与移动赋值运算符:解锁高效编程的最佳实践》

在 C++的编程世界中,移动构造函数和移动赋值运算符是提升程序性能和效率的重要工具。理解并正确运用它们,可以让我们的代码更加高效、简洁和优雅。 一、引言 随着现代软件系统的日益复杂和对性能要求的不断提高,C++程序员需要不断探索新的技术和方法来优化代码。移动构造函数和移动赋值运算符的出现,为解决资源管理和性能优化问题提供了有力的手段。它们允许我们在不进行不必要的复制操作的情况下,高效地转移资源