【发布时间】:2012-07-28 18:01:40
【问题描述】:
前言: 正如 matlab 指南所述,通常,当一个人想要在 matlab 中有效地填充稀疏矩阵时,他应该在矩阵中创建一个索引向量和一个他想要的值向量赋值,然后将所有赋值集中到一个原子操作中,让matlab提前“准备”矩阵,优化赋值速度。一个简单的例子:
A=sparse([]);
inds=some_index_generating_method();
vals=some_value_generating_method();
A(inds)=vals;
我的问题:如果inds 包含重叠索引,即inds=[4 17 8 17 9] 17 重复两次,我该怎么办。
在这种情况下,我想要发生的是矩阵将被分配添加映射到同一索引的所有值,即对于前面的示例
A(17)=vals(2)+vals(4) %as inds(2)==inds(4)
是否有任何直接且最重要的是快速的方法来实现这一目标?我无法以“更智能”的方式生成索引和值。
【问题讨论】:
标签: matlab sparse-matrix addition assign