Обработка матриц путем удаления строк с постоянными значениями
[Y,PS] = removeconstantrows(X,max_range)
[Y,PS] = removeconstantrows(X,FP)
Y = removeconstantrows('apply',X,PS)
X = removeconstantrows('reverse',Y,PS)
removeconstantrows обрабатывает матрицы путем удаления строк с постоянными значениями.
[Y,PS] = removeconstantrows(X,max_range) берет X и необязательный параметр,
X |
|
max_range | Максимальный диапазон значений для удаляемой строки (по умолчанию 0) |
и возвращает
Y |
|
PS | Параметры процесса, позволяющие согласованно обрабатывать значения |
[Y,PS] = removeconstantrows(X,FP) принимает параметры как структуру: FP.max_range.
Y = removeconstantrows('apply',X,PS) прибыль Y, учитывая X и настройки PS.
X = removeconstantrows('reverse',Y,PS) прибыль X, учитывая Y и настройки PS.
Любой NaN значения во входной матрице обрабатываются как отсутствующие данные и не рассматриваются как уникальные значения. Так, например, removeconstantrows удаляет первую строку из матрицы [1 1 1 NaN; 1 1 1 2].
Отформатируйте матрицу так, чтобы строки с постоянными значениями были удалены.
x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0]; [y1,PS] = removeconstantrows(x1);
y1 =
1 2 4
3 2 2
PS =
max_range: 0
keep: [1 3]
remove: [2 4]
value: [2x1 double]
xrows: 4
yrows: 2
constants: [2x1 double]
no_change: 0Затем примените те же параметры обработки к новым значениям.
x2 = [5 2 3; 1 1 1; 6 7 3; 0 0 0];
y2 = removeconstantrows('apply',x2,PS)
5 2 3 6 7 3
Сторнировать обработку y1 чтобы получить оригинал x1 матрица.
x1_again = removeconstantrows('reverse',y1,PS)
1 2 4 1 1 1 3 2 2 0 0 0
fixunknowns | mapminmax | mapstd | processpca