Обработайте матрицы, сопоставив средства каждой строки с 0 и отклонения с 1
[Y,PS] = mapstd(X,ymean,ystd)
[Y,PS] = mapstd(X,FP)
Y = mapstd('apply',X,PS)
X = mapstd('reverse',Y,PS)
dx_dy = mapstd('dx_dy',X,Y,PS)
mapstd
обрабатывает матрицы путем преобразования среднего и стандартного отклонения каждой строки в ymean
и ystd
.
[Y,PS] = mapstd(X,ymean,ystd)
принимает X
и необязательные параметры,
X |
|
ymean | Среднее значение для каждой строки |
ystd | Стандартное отклонение для каждой строки |
и возвращает
Y |
|
PS | Настройки процесса, которые позволяют последовательно обрабатывать значения |
[Y,PS] = mapstd(X,FP)
принимает параметры как struct: FP.ymean
, FP.ystd
.
Y = mapstd('apply',X,PS)
возвращает Y
, заданные X
и настройки PS
.
X = mapstd('reverse',Y,PS)
возвращает X
, заданные Y
и настройки PS
.
dx_dy = mapstd('dx_dy',X,Y,PS)
возвращает обратную производную.
Здесь вы форматируете матрицу так, чтобы минимальное и максимальное значения каждой строки были сопоставлены со средним по умолчанию и STD 0 и 1.
x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0] [y1,PS] = mapstd(x1)
Затем примените те же параметры обработки к новым значениям.
x2 = [5 2 3; 1 1 1; 6 7 3; 0 0 0] y2 = mapstd('apply',x2,PS)
Противоположная обработка y1
чтобы получить x1
снова.
x1_again = mapstd('reverse',y1,PS)
Принято, что X
имеет только конечные вещественные значения, и что элементы каждой строки не все равны.
y = (x-xmean)*(ystd/xstd) + ymean;