Как я могу найти конкретные элементы в матрице в MATLAB? - PullRequest
3 голосов
/ 11 августа 2010

У меня есть файл набора данных, в котором есть 3 столбца.

0 0 1
1 0 0
0 1 0

Я загрузил файл данных в MATLAB и теперь я хочу проверить, для какого столбца присутствует вывод «1».

Имя файла: out.data

В первом ряду «1» присутствует в 3-м столбце. Как мне написать это в Matlab?

Ответы [ 3 ]

3 голосов
/ 11 августа 2010
output = [0 0 1 ; 1 0 0 ; 0 1 0];

[~,index] = max(output, [], 2)
index =
     3
     1
     2
1 голос
/ 11 августа 2010

Вы также можете сделать

[junk,column_index] = max(data,[],2);

затем column_index соответствует первому столбцу в каждой строке, который имеет 1 (при условии, что данные хорошо себя ведут).

0 голосов
/ 11 августа 2010

Это на самом деле без проверки (у вас нет matlab прямо сейчас), но может работать:

>> b = a';
>> rem(find(b(:) == 1),3) + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...