2017-02-04 3 views
0

У меня есть матрица 35000 * 200 и вы хотите определить индекс первого неотрицательного элемента каждого столбца в matlab. В частности, на выходе я хочу вектор 1 * 200, где каждый элемент является индексом строки первого неотрицательного элемента в соответствующем столбце.Найти индекс первого неотрицательного элемента в каждом столбце матрицы

Спасибо. Sajjad

+2

Добро пожаловать на переполнение стека. Это поможет вам прочитать http://stackoverflow.com/help/mcve - мы поможем вам с проблемами с кодом, но мы не будем писать его для вас. Покажите код, который вы пробовали, и любые ошибки, которые вы получаете, если хотите помочь. – Mikkel

ответ

3

Вы можете использовать max над логикой. Если данные в матрице A, и вы хотите, чтобы ваш результат в векторе i:

[M, i] = max(A >= 0, [], 1); % we find the first non-negative value per column. 
i(~M) = 0; % if all values are negative in that column, we output 0 for it. 
+0

Большое спасибо. – Sajjad

Смежные вопросы