【问题标题】:Combining a matrix of values and indices in MATLAB在 MATLAB 中组合值和索引矩阵
【发布时间】:2013-04-11 16:47:29
【问题描述】:

我有一个索引矩阵,例如 indices = [1,3,1 ; 2,4,2; 1,3,1]。
我有一个值矩阵,例如 values = [5,9,2 ; 3,4,1; 6,8,7]。
我想创建一个新的矩阵组合 = [5+2+6+7,9+8; 3+1,4] 不使用 for 循环。 “组合”应该由矩阵“值”的元素根据它们各自的索引在矩阵“索引”中的值相加而成。
你对如何在 MATLAB 中解决这个问题有什么建议吗?提前谢谢!

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您可以使用统计工具箱中的GRPSTATS 函数:

    val = [5,9,2 ; 3,4,1 ; 6,8,7];
    idx = [1,3,1 ; 2,4,2 ; 1,3,1];
    
    result = grpstats(val(:),idx(:),'sum');
    result = reshape(result, 2, 2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多