Generate a random vector elements that sum up to one ?

7 vues (au cours des 30 derniers jours)
Rahim Rahim
Rahim Rahim le 29 Déc 2022
Let us consider that we have a vector V.
Where V(1,6): the vector contains 6 columns (cases).
How can I set up a random vector that will sum up to 1. I mean that: sum(V(1,:)) == 1 ).
where all the elements should be beweent 0 and 1. Upperbounder =1 and lowbounder =1.

Réponses (1)

Image Analyst
Image Analyst le 29 Déc 2022
Try this:
V = rand(1, 6);
V = V / sum(V) % Make it sum to 1 by dividing by the sum.
V = 1×6
0.1426 0.2113 0.2330 0.0874 0.2157 0.1100
theSum = sum(V)
theSum = 1
but many people use this:
which is supposedly better for some reason.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by