removeconstantrows

Матрицы процесса путем удаления строк с постоянными значениями

Синтаксис

[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

N-by-Q матрица

max_range

Максимальная область значений значений для строки, которая будет удалена (значение по умолчанию 0),

и возвращается

Y

M-by-Q матрица с N - строки M удален

PS

Настройки процесса, которые позволяют сопоставимую обработку значений

[Y,PS] = removeconstantrows(X,FP) берет параметры в качестве struct: 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

Смотрите также

| | |

Представленный в R2006a