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

Отклонения в вычислениях

Этот пакет содержит функции для вычисления различных отклонений между массивами рядом способов:

counteq(a, b)

Подсчитывает количество индексов, по которым элементы массивов a и b равны.

countne(a, b)

Подсчитывает количество индексов, по которым элементы массивов a и b не равны.

sqL2dist(a, b)

Вычисляет квадрат расстояния L2 между двумя массивами: . Эффективный эквивалент вызова sum(abs2, a - b).

L2dist(a, b)

Вычисляет расстояние L2 между двумя массивами: . Эффективный эквивалент вызова sqrt(sum(abs2, a - b)).

L1dist(a, b)

Вычисляет расстояние L1 между двумя массивами: . Эффективный эквивалент вызова sum(abs, a - b).

Linfdist(a, b)

Вычисляет расстояние L∞, также называемое расстоянием Чебышева, между двумя массивами: . Эффективный эквивалент вызова maxabs(a - b).

gkldiv(a, b)

Вычисляет обобщенное расстояние Кульбака-Лейблера между двумя массивами: . Эффективный эквивалент вызова sum(a*log(a/b)-a+b).

meanad(a, b)

Возвращает среднее абсолютное отклонение между двумя массивами: mean(abs, a - b).

maxad(a, b)

Возвращает максимальное абсолютное отклонение между двумя массивами: maxabs(a - b).

msd(a, b)

Возвращает среднеквадратичное отклонение между двумя массивами: mean(abs2, a - b).

rmsd(a, b; normalize=false)

Возвращает квадратный корень из среднеквадратичного отклонения между двумя массивами (возможно, нормализованными). Квадратный корень из среднеквадратичного отклонения вычисляется как sqrt(msd(a, b)).

psnr(a, b, maxv)

Вычисляет пиковое отношение сигнала к шуму между двумя массивами a и b. maxv — это максимальное возможное значение, принимаемое каждым из массивов. Пиковое отношение сигнала к шуму вычисляется как 10 * log10(maxv^2 / msd(a, b)).

Все эти функции реализованы достаточно эффективным способом и не предполагают промежуточного создания временных массивов.