生成固定和、固定數(shù)目且固定范圍的隨機數(shù)

生成100個隨機數(shù),這些隨機數(shù)的范圍限定為15-25之間,他們的和為:2000。
MATLAB程序如下:
a = unifrnd(15,25,1,100);
suma = sum(a);
div = 2000 / suma;
a = a * div;
while( max(a) > 25 || min(a) < 15 )
a = unifrnd(15,25,1,100);
suma = sum(a);
div = 2000 / suma;
a = a * div;
end
sum(a)
max(a)
min(a)
MATLAB結(jié)果如下:
[21.3956353834126 18.7444394622668 23.0645499603952 ?20.2831820911272 18.4662349045911 24.3359356922518 ?23.7067463874645 20.4561053576892 21.1776892668242 ?20.8241710491916 17.0395571952043 17.9725243077102 ?19.6655322453147 17.2665115263725 23.3911076198885 ?16.9100649245219 17.2209489842069 16.6700358988617 ?17.2383355158609 19.3140666368836 18.0708653355166 ?24.1800628777701 19.2592754674538 16.8108058061995 ?23.9954863142137 24.7425003775550 19.3457092101842 ?16.0754689234606 17.5416654294608 19.0448764581488 20.9025106557216 17.5830439956591 20.9818046004600 22.0631285656917 17.1792910878792 16.1383135427208 17.9269210777420 18.1474552881542 19.1990030900874 20.0340626492269 15.8200023641618 17.5857428673335 22.9591258813052 15.2582954081936 24.2346864656087 22.2538555516092 19.8419963551958 20.7391635199791 17.3343150472844 19.5450547700108 24.5762713851068 20.4226734094101 20.1665437079184 17.2775492630065 19.8448776534683 21.1935041443307 21.7430374844555 18.9131229396883 18.6329598538956 24.8246540616295 15.3432924124891 23.7987938044766 24.0793585208821 22.9109255015548 15.9516745745230 17.5796459078739 18.3128730729657 21.7489484540663 16.3292441169970 22.1630237575670 16.0319919208147 21.4898182725785 19.8975225917547 22.7399838688068 22.1012568158064 23.9839079626816 23.8562111714442 18.3009616705305 21.9387055805865 16.9404527670835 15.2714728124596 22.3909847946799 19.9558779026260 19.7553206415692 23.9939025276187 21.0518844576454 21.1297089258158 23.5421071943484 23.0037746792241 20.7211680558641 16.7919092914172 17.3607406316588 23.8122032543964 15.2528462664329 19.8548918455995 16.6422885450724 24.7318467651309 22.0778826911557 19.9603598284243 19.6671788464398]
其中最大值為24.8247,最小值為15.2528。