Mulitpling a scalar to specfic numbers in a vector

1 Ansicht (letzte 30 Tage)
jason
jason am 7 Sep. 2022
Kommentiert: Matt J am 8 Sep. 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].

Akzeptierte Antwort

Matt J
Matt J am 7 Sep. 2022
Bearbeitet: Matt J am 7 Sep. 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 Kommentare
Torsten
Torsten am 7 Sep. 2022
Bearbeitet: Torsten am 7 Sep. 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 am 8 Sep. 2022
what would you do if it wasn't in sets of 3
Use this syntax instead,

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by