Как найти первый нулевой столбец (или последний ненулевой столбец) в массиве, превышающий определенное значение столбца - PullRequest
0 голосов
/ 29 июня 2018

У меня есть массив, в котором первые два столбца равны нулю для всех записей. Массив имеет ненулевые значения для некоторого числа столбцов и затем нули в остальных. Я хочу найти столбец с последней ненулевой (или первой нулевой) записью, которая не является столбцом 1 или 2, для построения графика. Я пытался

находка (б (я,:) == 0,1)

, который, конечно, возвращает 1.

Я пытался

находка (б (я, :) ~ = 0,1)

который, я думал, сработает, но причудливо возвращает '2'. Я подумал, что вместо этого может сработать find (b (i, :) ~ = 0,1, 'last'), который, как я видел, предлагается в качестве команды MATLAB для различных ответов переполнения стека, однако я все еще получаю '2'!

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 29 июня 2018

Вам нужен второй выходной аргумент find, который представляет индекс столбца. т.е.

[~, cfirst] = find(b,1);  %to find the column subscript of the first non-zero value
[~, clast] = find(b,1,'last');  %to find the column subscript of the last non-zero value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...