フィルターのクリア

Generate a random vector elements that sum up to one ?

3 ビュー (過去 30 日間)
Rahim Rahim
Rahim Rahim 2022 年 12 月 29 日
回答済み: Image Analyst 2022 年 12 月 29 日
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.

回答 (1 件)

Image Analyst
Image Analyst 2022 年 12 月 29 日
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.

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by