中易网

怎样用vb产生200个0到1之间均匀分布随机数和?

答案:1  悬赏:0  
解决时间 2021-01-20 18:09
怎样用vb产生200个0到1之间均匀分布随机数和?
最佳答案
建立一个command1按钮
Private Sub Command1_Click()
Dim i, Sum
Dim a(1 To 200)
Sum = 0
For i = 1 To 200
Randomize
a(i) = Rnd()
Sum = Sum + a(i)
Next i
Print Sum
End Sub


==============
然后想了下高斯分布应该b不简单的,就 主要参考了
--------------------------------------------------------------
http://topic.csdn.net/t/20050519/16/4019951.html
这篇?:
就这个就可以了,不用改进法

正态分布的随机数发生器 in C#
主要参考《Numerical Recipes in C++ 2/e》p.292~p.294 和《Simulation Modeling and Analysis
3/e》p.465~p.466。

Box 和 Muller 在 1958 年给出了由均匀分布的随机变量生成正态分布的随机变量的算法。设 U1, U2 是区间 (0, 1) 上均匀分布的随机变量,且相互独立。令

X1 = sqrt(-2*log(U1)) * cos(2*PI*U2);
X2 = sqrt(-2*log(U1)) * sin(2*PI*U2);

那么 X1, X2 服从 N(0,1) 分布,且相互独立。等于说我们用两个独立的 U(0,1) 随机数得到了两个独立的 N(0,1)随机数。
---------------------------------------------------------------

高数实在不行,只能理解到这个程度,下面的代码

Private Sub Command1_Click()
Dim u1(1 To 100) '定义u1
Dim u2(1 To 100)
Dim x1(1 To 100) '定义x1
Dim x2(1 To 100)
Dim i As Integer
Dim Sum
Sum = 0
Dim pi
pi = 3.1415926525 '定义Л

For i = 1 To 100
Randomize
u1(i) = Rnd() '生成u1
u2(i) = Rnd() '
x1(i) = Sqr(-2 * Log(u1(i))) * Cos(2 * pi * u2(i)) '计算x1
x2(i) = Sqr(-2 * Log(u1(i))) * Sin(2 * pi * u2(i)) '
Sum = Sum + x1(i) + x2(i) '计算x的所有的和
Next i

Print Sum '输入他们的和
End Sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
南国路/海棠路(路口)地址有知道的么?有点事
你们看过金婚这连续剧吗?蒋雯丽和张国立主演
墙上的灰尘用什么方法打扫最好,如何做
怎么进一步提高员工的安全意识?
C语言中,零除以二的余数问题
磁性防蚊门帘价格多少
长春如何办理出国留学
2008年是1984年出生的人的本命年.想想真可怕
求一套完整的以太币挖掘软件,win64的,a卡
为什么网络没信号把电话拿起就有信号了
有人问:为什么总是深夜容易感伤
寻一张搞笑图片,两个学生在教室里,一个在呆
个人站长做什么网站比较好些?提升PR快些
请问有种植头发的照片吗对比图应该怎么看...
汽车左前门内饰板上有个行李箱开启按钮的标示
推荐资讯
关于保卫国家的壮士的英雄事迹
竹地板缝隙大该咋解决?
主楼与地下室顶板标高不一致时,属于错层吗?
长笛降低音7是不是升低音6,如不是这两个音的
百旺学校地址在什么地方,我要处理点事
怎样调整收入分配格局
怪物猎人3与怪物猎人P3有区别吗?
TwentyNail美甲美睫韩式定妆地址好找么,我有
报名法语预签证考试,付款人一定要是自己吗,
老榕树休闲会所地址在哪,我要去那里办事
黑八台球厅怎么去啊,我要去那办事
请各位轻音乐,纯音乐爱好者推荐几首空灵的,
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?