Clear Filters
Clear Filters

Mulitpling a scalar to specfic numbers in a vector

2 views (last 30 days)
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].

Accepted Answer

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

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!