Документация Engee

rms

Среднеквадратичное значение.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • y = rms(x) — возвращает среднеквадратичное значение входного сигнала x.

    • Если x — вектор-строка или вектор-столбец, то y — вещественный скаляр.

    • Если x — матрица, то y — вектор-строка, содержащий среднеквадратичное значение для каждого столбца.

    • Если x — многомерный массив, то y содержит среднеквадратичное значение, вычисленное по первому измерению массива, размер которого не равен 1. Размер y в этом измерении равен 1, в то время как размеры всех остальных измерений остаются такими же, как у x.

  • y = rms(x, "all") — возвращает среднеквадратичное значение всех элементов в x.

  • y = rms(x, dim) — действует по размерности dim. Например, если x — матрица, то rms(x, 2) действует на элементы каждой строки и возвращает вектор-столбец, содержащий среднеквадратичное значение каждой строки.

  • y = rms(___, nanflag) — также задает, как обрабатывать значения NaN в x для любого из предыдущих синтаксисов. Например, rms(x, "omitnan") игнорирует значения NaN при вычислении среднеквадратичного значения. По умолчанию функция rms учитывает значения NaN.

Аргументы

Входные аргументы

# x — входной сигнал
вектор | матрица | N-мерный массив

Details

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

Типы данных

Float32, Float64

Поддержка комплексных чисел

Да

# dim — измерение, по которому выполняется операция
скаляр

Details

Измерение, по которому выполняется операция, заданное как положительный целочисленный скаляр. По умолчанию функция rms работает с первым измерением массива x размерностью больше 1.

Аргумент dim указывает измерение, длина которого уменьшается до 1. Размер size(y, dim) равен 1, в то время как размеры всех остальных измерений остаются такими же, как у x.

Рассмотрим входную матрицу x размером на :

  • y = rms(x, 1) вычисляет среднеквадратичное значение элементов в каждом столбце матрицы x и возвращает вектор-строку размером 1 на .

  • y = rms(x, 2) вычисляет среднеквадратичное значение элементов в каждой строке матрицы x и возвращает вектор-столбец размером на 1.

# nanflag — условие отсутствия значения
"includemissing" (по умолчанию) | "includenan" | "omitmissing" | "omitnan"

Details

Условие отсутствия значения, заданное как:

  • "includemissing" или "includenan" — функция учитывает значения NaN в x при вычислении среднеквадратичного значения. Если какой-либо элемент в рабочем измерении — NaN, то соответствующие элементы в yNaN. Значения "includemissing" и "includenan" ведут себя одинаково.

  • "omitmissing" или "omitnan" — функция игнорирует значения NaN в x при вычислении среднеквадратичного значения. Если все элементы в рабочем измерении — NaN, то соответствующие элементы в yNaN. Значения "omitmissing" и "omitnan" ведут себя одинаково.

Выходные аргументы

# y — среднеквадратичное значение
скаляр | вектор | матрица

Details

Среднеквадратичное значение, возвращаемое в виде вещественного скаляра, вектора или матрицы.

Примеры

Среднеквадратичное значение вектора

Details

Вычислим среднеквадратичное значение синусоиды.

import EngeeDSP.Functions: rms

t = 0:0.001:1-0.001
x = cos.(2*pi*100*t)
y = rms(x)
0.7071067811865476

Среднеквадратичное значение столбцов матрицы

Details

Создадим матрицу и вычислим среднеквадратичные значения каждого столбца.

x = [4 -5 1; 2 3 5; -9 1 7]
y = rms(x)
1×3 Matrix{Float64}:
 5.8023  3.41565  5.0

Среднеквадратичное значение строк матрицы

Details

Создадим матрицу и вычислим среднеквадратичные значения каждой строки, указав измерение, равное 2.

x = [6 4 23 -3; 9 -10 4 11; 2 8 -5 1]
y = rms(x, 2)
3×1 Matrix{Float64}:
 12.144957801491119
  8.916277250063503
  4.847679857416329

Среднеквадратичное значение за вычетом пропущенных данных

Details

Создадим матрицу, содержащую значения NaN.

x = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]
2×4 Matrix{Float64}:
   1.77  -0.005  NaN  -2.95
 NaN      0.34   NaN   0.19

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

y = rms(x, "omitnan")
1×4 Matrix{Float64}:
 1.77  0.240442  NaN  2.09029

Дополнительно

Среднеквадратичное значение

Details

Среднеквадратичное значение (RMS) определяется как

с суммированием по заданному измерению.

Литература

  1. IEEE® Standard on Transitions, Pulses, and Related Waveforms, IEEE Standard 181, 2003.