# Mulitpling a scalar to specfic numbers in a vector

1 view (last 30 days)
jason on 7 Sep 2022
Commented: Matt J on 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].

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 CommentsShow 1 older commentHide 1 older comment
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 on 8 Sep 2022
what would you do if it wasn't in sets of 3

### Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

R2022a

### Community Treasure Hunt

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

Start Hunting!