How do I efficiently add values of same indices to a vector?
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello, I am pretty much new to MATLAB.
I have a large vector vec1=[2 7 4 3], a small vector vec2=[1 10 100], and an index vector ind=[1 2 1] (numel(vec2)=numel(idx)). I want to add each element of vec2 to the element of vec1 that is specified by ind. In this example, I want ans=[103 17 4 3].
Intuitively, I first tried
vec1(ind) = vec1(ind) + vec2, (1)
but this gave me ans=[102 17 4 3], telling me that the duplicates in ind were not considered.
To get around this, I added a for loop before (1) to remove the duplicates, which works fine but takes too long.
I would like to know if there is an efficient way to solve this.
0 comentarios
Respuesta aceptada
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!