Матрицы процесса путем отображения строки минимальные и максимальные значения с [-1 1
]
[Y,PS] = mapminmax(X,YMIN,YMAX)
[Y,PS] = mapminmax(X,FP)
Y = mapminmax('apply',X,PS)
X = mapminmax('reverse',Y,PS)
dx_dy = mapminmax('dx_dy',X,Y,PS)
Матрицы процессов mapminmax
путем нормализации минимальных и максимальных значений каждой строки к [YMIN
, YMAX
].
[Y,PS] = mapminmax(X,YMIN,YMAX)
берет X
и дополнительные параметры
X |
|
YMIN | Минимальное значение для каждой строки |
YMAX | Максимальное значение для каждой строки |
и возвращается
Y |
|
PS | Настройки процесса, которые позволяют сопоставимую обработку значений |
[Y,PS] = mapminmax(X,FP)
берет параметры в качестве struct: FP.ymin
, FP.ymax
.
Y = mapminmax('apply',X,PS)
возвращает Y
, учитывая X
и настройки PS
.
X = mapminmax('reverse',Y,PS)
возвращает X
, учитывая Y
и настройки PS
.
dx_dy = mapminmax('dx_dy',X,Y,PS)
возвращает противоположную производную.
Вот то, как отформатировать матрицу так, чтобы минимальные и максимальные значения каждой строки были сопоставлены с интервалом по умолчанию [-1,+1
].
x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0] [y1,PS] = mapminmax(x1)
Затем, примените те же настройки обработки к новым значениям.
x2 = [5 2 3; 1 1 1; 6 7 3; 0 0 0] y2 = mapminmax('apply',x2,PS)
Инвертируйте обработку y1
, чтобы получить x1
снова.
x1_again = mapminmax('reverse',y1,PS)
Это принято, что X
имеет только конечные действительные значения, и что элементы каждой строки не все равны. (Если xmax=xmin
или если или xmax
или xmin
являются неличными, то y=x
и никакое изменение происходят.)
y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin;