Matlab: поиск столбцов и добавление значений - PullRequest
1 голос
/ 18 апреля 2020

Я довольно новичок в программировании в целом, и я работаю над созданием тепловой карты, которая достаточно проста. Но я застрял в обработке части данных.

У меня есть массив 5x3, как показано ниже, например:

[9,9,1; 1,2,6; 3,6,2; 3,2,6; 5,6,2]

Я хочу просмотреть столбцы 2 и 3 и суммировать столбец 1 для каждой пары столбцов 2 и 3. В этом случае получится 9 для 9,1 пары, 4 для 2,6 пары и 8 для 6,2 пары.

Это упрощенная версия, мои столбцы 2,3 будут иметь значения от 1:20. Спасибо за вашу помощь

1 Ответ

1 голос
/ 18 апреля 2020

используйте accumarray для накопления базы первого столбца в столбце 2/3 в качестве индекса.

см. Тестовый код

len=10;
maxidx=20;
data=[randi(100,len,1), randi(maxidx,len,1), randi(maxidx,len,1)];
output=accumarray(data(:,2:3),data(:,1), [maxidx, maxidx]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...