【发布时间】:2012-11-15 23:40:17
【问题描述】:
我有一个 256 x 256 的矩阵 M,并产生了一些线性索引 L。
我还有一个权重向量,其数量与 L 相同,要添加到由 L 索引的 M 的元素中。 问题是,用表达式
M(L) = M(L) + weights;
对于L中的重复值,只会添加weights中最后一个对应的元素。
有没有一种简单的方法来解决这个问题/我错过了什么?
【问题讨论】:
-
你写的伪代码对我有用。请注意不要在之前的某处覆盖
weights或L... -
@nate 尝试运行这个:
X = [1; 1]; L = [1 1 2]; W = 10 * ones(length(L), 1); X(L) = X(L) + W;。我认为 OP 试图获得的行为是X应该以等于21的第一个元素和等于11的第二个元素结束。但是我提供的代码产生的两个元素都等于11。有趣的问题!干杯。 -
@ColinTBowers 是的,那个。是否有一种解决方法,也许用 unique() 来总结所有相关元素?
标签: matlab indexing octave addition