如何在矩阵中求和特定值?

时间:2018-05-20 12:35:16

标签: matlab matrix sum

例:
对于这个数组:

A = [1    2    2    2     3    3  ; 
     0.1  0.2  0.3  0.05  0.2  0.8]

我正在寻找这个答案:

对于第一个元素y(1) = 0.1
第2,第3,第4 y(2) = 0.55
第5和第6 y(3) = 1

怎么做?

2 个答案:

答案 0 :(得分:3)

使用accumarray

A = [1    2    2    2     3    3  ; 
 0.1  0.2  0.3  0.05  0.2  0.8]

accumarray(A(1,:).',A(2,:).')

答案 1 :(得分:0)

function x = sum_elements(A,n)
    [~,col]=find(ismember(A,n));
    x = sum(A(2,col));
end

使用矩阵和元素n。

调用函数
sum_elements(A,1) = 0.1000
sum_elements(A,2) = 0.5500
sum_elements(A,3) = 1