Рассмотрим следующий ниже пример, где у меня есть матрица 10x10
, например A
, случайных значений в некотором диапазоне, например [-5, 5]
. Я квантую значения A
на 8 категорий, 1, ..., 8
, так что дополнительная матрица 10x10
, скажем qA
, описывает ассоциацию категорий для каждого номера в A
. Наконец, я создаю суммы всех значений, присвоенных каждой категории. Мой вопрос касается этого заключительного шага.Как аккуратно суммировать значения гистограмм, учитывая матрицу значений и ассоциированную матрицу ассоциаций категорий (ассоциация бинов)
myRange = 5; % values in open interval [-myRange, myRange]
A = myRange*(2*rand(10) - 1);
qA = uencode(A, 3, myRange)+1;
% (+) create "histogram" of sum of values assigned to each bin
myHistogram = zeros(8,1);
for i = 1:numel(A)
myHistogram(qA(i)) = myHistogram(qA(i)) + A(i);
end
bar(myHistogram)
Вопрос: ли какой-то аккуратнее способ сделать это, в частности, на этапе подсчета (+)
выше? (Некоторая лучшая альтернатива, чем явно итерация по каждому элементу в матрице A
?).
'uencode', кажется, предназначен для выполнения вашей задачи, и если у вас есть необходимый набор инструментов, это хороший вариант. Что касается второй части: 'tankarray' - это способ сделать это. – thewaywewalk
@thewaywewalk Спасибо за отзыв. Я добавил альтернативное решение для 'uencode' в случае, если у человека нет доступа к Toolbox Toolbox. – dfri