Matlab 版 (精华区)

发信人: seesea (马虎学究), 信区: Matlab
标  题: [合集]如何产生方差为固定值的一组随机数
发信站: 哈工大紫丁香 (2002年10月29日00:55:47 星期二), 站内信件


────────────────────────────────────────
 cub (常青藤)                         于 2001年06月06日11:05:34 星期三 说道:

比如说,我要求生成的一组随机数的方差必须为0.01,怎么办?
【 在 september (原本就是个冬瓜) 的大作中提到: 】
:     这不是什么要求啊?
: 【 在 cub (常青藤) 的大作中提到: 】
: : 3x

────────────────────────────────────────
 micheal (平凡的世界)                 于 2001年06月06日16:27:12 星期三 说道:

不可能随便产生一组随机数使得他们的方差是某个固定值。即使知道了
分部也不行。给定分布是说这个随机变量的方差知道了。但是不能保证
随便几个数的方差和随机变量的方差一样,只有这组随机变量个数趋于
无穷的时候才可以。当然如果数目很多的话,误差的概率可以忽略不记了。
比如产生n个随机变量,如果可以使得方差一定。那么在n-1个后,这n-1个
数已经确定,这时如果要求方差一定的话,那么第n个数值可能有两个解了。
也就是说是个确定的数了。同样道理向前推,那么第n-1数也是确定的。就
全是确定的了,最后最多2^n个解(在某艺术给定的情况下),还可能无解。
如果不要求分布的话,一般来说实际中均匀分布和高斯分布多一些。方差
有现成的公式,用给定的方差求出分布的参数。然后由分布给出结果。但是不能保证
n个数一定方差等于0.01,只能说去的数目越多,方差接近0.01的概率越大。
【 在 cub (常青藤) 的大作中提到: 】
: 比如说,我要求生成的一组随机数的方差必须为0.01,怎么办?
: 【 在 september (原本就是个冬瓜) 的大作中提到: 】
: :     这不是什么要求啊?

────────────────────────────────────────
 ramjet (德芙)                        于 2001年06月07日21:20:47 星期四 说道:

太好了,September和 Micheal在数学方面很厉害,在matlab版里
文的问题很多都要涉及到数学知识,希望这些问题能引起你们的兴趣,同时
也为大家解决问题.
我感到你们说的都对,但是有一点偏离了原来的问题。我们可以通过rand和
randn以及其他的一些函数产生符合这些分布的随机数序列。但rand和randn
产生的序列的均值和方差分别是默认的0和1。现在的问题是如何产生任意给定的
方差和均值的序列。
我从别的地方找来一个结论:
如果你要求的均值为b,方差是a^2.
a*randn(1,k) +b  
可以产生所要求的符合正态分布的随机数。
对于均匀分布用这种方法是不是也对,我不该肯定,我想这可能会涉及到
一些数学知识。而且上面的方法我也没有验证,有时间不妨验证一下。
这个结论来自新闻组
寄件者:GTGT (tanxjNO@usa.net)
主旨:help about random 
新闻群组:comp.soft-sys.matlab
日期:1999/04/12 
不妨去看一看
【 在 micheal (平凡的世界) 的大作中提到: 】
: 不可能随便产生一组随机数使得他们的方差是某个固定值。即使知道了
: 分部也不行。给定分布是说这个随机变量的方差知道了。但是不能保证
: 随便几个数的方差和随机变量的方差一样,只有这组随机变量个数趋于
: 无穷的时候才可以。当然如果数目很多的话,误差的概率可以忽略不记了。
: 比如产生n个随机变量,如果可以使得方差一定。那么在n-1个后,这n-1个
: 数已经确定,这时如果要求方差一定的话,那么第n个数值可能有两个解了。
: 也就是说是个确定的数了。同样道理向前推,那么第n-1数也是确定的。就
: 全是确定的了,最后最多2^n个解(在某艺术给定的情况下),还可能无解。
: 如果不要求分布的话,一般来说实际中均匀分布和高斯分布多一些。方差
: 有现成的公式,用给定的方差求出分布的参数。然后由分布给出结果。但是不能保证

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.351毫秒