movvar

Движущееся отклонение

Описание

пример

M = movvar(A,k) возвращает массив локального k- укажите значения отклонения, где каждое отклонение вычисляется по раздвижному окну длины k через соседние элементы A. Когда k является нечетным, окно сосредоточено об элементе в текущем положении. Когда k является четным, окно сосредоточено о текущих и предыдущих элементах. Размер окна является автоматически усеченным в конечных точках, когда существует недостаточно элементов, чтобы заполнить окно. Когда окно является усеченным, отклонение взято только по элементам, которые заполняют окно. M одного размера с A.

  • Если A вектор, затем movvar действует вдоль вектора.

  • Если A многомерный массив, затем movvar действует вдоль первого измерения массива, размер которого не равняется 1.

пример

M = movvar(A,[kb kf]) вычисляет отклонение с окном длины kb+kf+1 это включает элемент в текущее положение, kb элементы назад и kf элементы вперед.

пример

M = movvar(___,w) задает коэффициент нормализации для любого из предыдущих синтаксисов. Когда w = 0 (значение по умолчанию), M нормирован на k-1 для длины окна k. Когда w = 1M нормирован на k.

пример

M = movvar(___,w,dim) возвращает массив скользящих отклонений по измерению dim для любого из предыдущих синтаксисов. Всегда задавайте вес w от предыдущего синтаксиса при определении dim. Например, если 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.

Примеры

свернуть все

Вычислите движущееся отклонение в центре с тремя точками вектора-строки. Когда существует меньше чем три элемента в окне в конечных точках, берут отклонение по элементам, которые доступны.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
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

Вычислите запаздывание с тремя точками движущееся отклонение вектора-строки. Когда существует меньше чем три элемента в окне в конечных точках, берут отклонение по элементам, которые доступны.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
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

Вычислите движущееся отклонение в центре с тремя точками вектора-строки и нормируйте каждое отклонение на число элементов в окне.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
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

Вычислите движущееся отклонение в центре с тремя точками для каждой строки матрицы. Окно запускается на первой строке, скользит горизонтально в конец строки, затем перемещается во вторую строку и так далее. Аргумент размерности равняется двум, которые двигают окно через столбцы A. Всегда задавайте коэффициент нормализации при определении размерности.

A = [4 8 6; -1 -2 -3; -1 3 4];
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 элементы.

A = [4 8 NaN -1 -2 -3 NaN 3 4 5];
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

Вычислите 3-часовое движущееся отклонение в центре данных в A согласно временному вектору t.

A = [4 8 6 -1 -2 -3];
k = hours(3);
t = datetime(2016,1,1,0,0,0) + hours(0:5)
t = 1x6 datetime
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

Вычислите движущееся отклонение в центре с тремя точками вектора-строки, но отбросьте любое вычисление, которое использует меньше чем три точки от выхода. Другими словами, возвратите только дисперсии, вычисленные из полного трехэлементного окна, отбросив вычисления конечной точки.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
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

Входные параметры

свернуть все

Входной массив, заданный как векторный, матричный или многомерный массив.

Типы данных: single | double | logical

Длина окна в виде числового скаляра или скаляра длительности. Когда k положительный целочисленный скаляр, отклонение в центре включает элемент в текущее положение плюс окружение соседей. Например, отклонение с тремя точками, заданное окном длины три результата в следующем вычислении для векторного A:

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

Направленная длина окна в виде числового вектора-строки или вектора-строки длительности, содержащего два элемента. Когда kb и kf положительные целочисленные скаляры, вычисление по kb+kf+1 элементы. Вычисление включает элемент в текущее положение, kb элементы перед текущим положением и kf элементы после текущего положения. Например, отклонение с четырьмя точками задано направленным окном [2 1] результаты в следующем вычислении для векторного A:

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

Вес в виде одного из этих значений:

  • 0 — Нормируйте на k-1, где k длина окна. Если k=1, весом является k.

  • 1 — Нормируйте на k.

Типы данных: single | double

Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 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

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' и одно из следующего:

'Endpoints' ЗначениеОписание
'shrink'Уменьшите размер окна около конечных точек входа, чтобы включать только существующие элементы.
'discard'Не выводите отклонения, когда окно не полностью перекроется с существующими элементами.
'fill'Замените несуществующими элементами с NaN.
числовой или логический скалярЗамените несуществующими элементами с заданным числовым или логическим значением.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

Точки выборки для вычислительных отклонений в виде разделенной запятой пары, состоящей из 'SamplePoints' и вектор. Точки выборки представляют местоположение данных в A. Точки выборки не должны быть однородно произведены. По умолчанию вектором точек выборки является [1 2 3 ... ].

Движущиеся окна заданы относительно точек выборки, которые должны быть отсортированы и содержать уникальные элементы. Например, если t вектор времен, соответствуя входным данным, затем movvar(rand(1,10),3,'SamplePoints',t) имеет окно, которое представляет временной интервал между t(i)-1.5 и t(i)+1.5.

Когда вектор точек выборки имеет тип данных datetime или duration, затем движущаяся длина окна должна иметь, вводят duration.

Если точки выборки расположены с неоднородными интервалами и 'Endpoints' пара "имя-значение" задана, затем ее значением должен быть 'shrink'.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration

Больше о

свернуть все

Дисперсия

Для вектора случайной переменной A составил из скалярных наблюдений N, отклонение задано как

V=1N1i=1N|Aiμ|2

где μ является средним значением A,

μ=1Ni=1NAi.

Некоторые определения отклонения используют коэффициент нормализации N вместо N-1. Можно задать фактор N установкой w к 1. В любом случае среднее значение принято, чтобы иметь обычный коэффициент нормализации N.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| | | |

Введенный в R2016a