Как найти значения столбцов с хотя бы k ненулевым элементом? - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть матрица A следующим образом:

A =

     1     2     0     0     4
     0     0     0     1     3
     0     0     1     1     1

Я хотел бы найти значения столбца A, где каждый столбец имеет больше, чем k-ненероэлементных элементов.Я использовал:

find(all(A~=0));

, но он возвращает индекс столбцов, где существует хотя бы один ненулевой элемент.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Это может помочь вам, если вы сделаете это шаг за шагом.
Сначала найдите количество ненулевых элементов в каждом столбце:

nNonZero = sum(A~=0)

Затем найдите столбцы, которые больше k

find(nNonZero>k)
0 голосов
/ 27 сентября 2018

Вместо проверки, где все значения в строке отличны от нуля, вместо этого посчитайте, сколько их, а затем примените ваш порог:

k = 3
find(sum(A~=0,2)>=k)

возвращает:

ans =

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