Mulitpling a scalar to specfic numbers in a vector

3 visualizaciones (últimos 30 días)
jason
jason el 7 de Sept. de 2022
Comentada: Matt J el 8 de Sept. de 2022
I need to multiply random numbers in a vector by a different scalar depending on what numbers are in the vector. For example, [1 3 5 10 15 17 20 25 30]; I would have to multiply the 1,3 and 5 by 2, and the 10,15,17 by 5, but the 20,25, and 30 would be multiplied by 10. So the vector would look like [2 6 10 50 75 85 200 250 300].

Respuesta aceptada

Matt J
Matt J el 7 de Sept. de 2022
Editada: Matt J el 7 de Sept. de 2022
One way:
[1 3 5 10 15 17 20 25 30].*repelem([2,5,10],3)
ans = 1×9
2 6 10 50 75 85 200 250 300
  3 comentarios
Torsten
Torsten el 7 de Sept. de 2022
Editada: Torsten el 7 de Sept. de 2022
Then explicitly form the vector of scalars associated with the elements of the random vector.
[1 3 5 10 15 17 20 25 30].*[2 2 2 5 5 5 10 10 10]
ans = 1×9
2 6 10 50 75 85 200 250 300
Matt J
Matt J el 8 de Sept. de 2022
what would you do if it wasn't in sets of 3
Use this syntax instead,

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Computer Vision Toolbox en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by