关于vb:限定范围设定平均值求随机数

46次阅读

共计 1944 个字符,预计需要花费 5 分钟才能阅读完成。

通过思考,能够转换模型,即已知数值范畴 [a,b], 设定有 x 个数,数值总和为 Sum。
前提条件是 Sum 的范畴应是 [ax,bx]
那么首先判断取第一数值时,x1 的数值范畴是多少?
假设 x - 1 个数值都为 a,则 x1 的取值下限为 Sum-a(x-1),又已限定下限为 b,则 Max(x1)=Min(b,Sum-a(x-1))
同理,假设 x - 1 个数值都为 b,则 x1 的取值上限为 Sum-b(x-1),又已限定下限为 b,则 Min(x1)=Max(a,Sum-b(x-1))
即 x1 在 [Max(a,Sum-b(x-1)),Min(b,Sum-a(x-1))] 范畴内取值。则选取 x2 时,Sum1=Sum-x1,
那么在选取第 i 个数值时,还余下 (x-i) 个待选数值,Sum(i)=Sum-(x1+x2+…+x(i-1)),x(i)的取值范畴应为 [Max(a,Sum(i)-b(x-i)),Min(b,Sum(i)-a(x-i))]。接下来就能够用循环语句给 x(i) 赋值,代码如下:
Private Sub XArr(a as Double ,b as Double, Sum as Double,N as Interge)
Dim X() as Double
Redim X(1 to N)
for i = 1 to N

 X(i)=RndBT(Max(a,Sum(i)-b*(N-i)),Min(b,Sum(i)-a*(N-i)),Index)     'RndBT 是自定义函数,求两个数值间的随机数
 Sum=Sum-X(i)

Next
End Sub
纯手打,有谬误的中央请谅解
如果大家有更好的思路或者代码我还是会给分的[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]

正文完
 0