Как удалить все столбцы в матрице, содержащие нули в некоторых строках в MATLAB - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть матрица с размером 4x16, и мне нужно удалить все столбцы, у которых значение первой строки равно нулю.Например: вот пример матрицы:

X = [1 0 0 0; 0 1 0 0; 0 0.4 0 0; 0 0 0 0.8; 0.5 0 0 0];

2D матрица (X) выглядит следующим образом:

      1   0   0   0
      0   1   0   0
      0  0.4  0   0
      0   0   0  0.8
     0.5  0   0   0

Так что мне нужно просто X = [1 0 0 0;0.5 0 0 0 ], потому что первый ряд этих столбцов отличается от нуля.

1 Ответ

3 голосов
/ 09 апреля 2019

Только исключите, что номера строк:

X = X(X(:,1) ~= 0, :);

X(:,1) ~= 0 - это логический вектор для первого столбца, который имеет значение true, если значение элемента не будет 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...