24小时热门版块排行榜    

查看: 2290  |  回复: 11

li_clifff

银虫 (正式写手)

[求助] 请教向量Q满足高斯分布,用matlab如何表示?

请教个问题:

        三维的向量Q是高斯随机变量,均值为零,方差为1,用matlab如何赋值?

1)  Q = randn(1,3)?
2) Q1 = randn(1); Q2=randn(1);Q3=randn(1); Q =[Q1;Q2;Q3];  ?

如果有N个Q这样的向量,该怎么一起赋值呢?

NQ = randn(N,3); ?
回复此楼

» 收录本帖的淘帖专辑推荐

大气科学

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

绿遍山原

铜虫 (小有名气)

★ ★
余泽成: 金币+2, 谢谢参与应助! 2012-03-30 14:09:40
内容已删除
要夢遊,不要催眠。
5楼2012-03-25 09:41:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

绿遍山原

铜虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
li_clifff: 金币+10, ★★★很有帮助, 空间向量是不是会特殊点,一般的其他意义下的向量,它的分量或许是有关联的, 2012-03-28 12:36:46
余泽成: 金币+1, 谢谢参与应助! 2012-03-30 14:10:47
http://www.mathworks.cn/help/toolbox/stats/mvnrnd.html
这个是产生多变量gaussian分布的函数
要夢遊,不要催眠。
6楼2012-03-25 09:49:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖


感谢参与,应助指数 +1
余泽成: 金币+1, 谢谢参与应助! 2012-03-30 14:09:55
这样只是产生三个独立的gauss随机数,表示的矢量不满足gauss分布。我觉得你要把问题说得更清楚点。
2楼2012-03-25 08:45:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
余泽成: 金币+3, 谢谢参与应助! 2012-03-30 14:10:16
randn就是生成0均值、1方差的高斯分布随机数。
你确信要用三维的高斯随机分布矩阵(我感觉这个好像不常用啊,不知是不是我们理解有偏差)?
randn([m,n,p]) 将生成m*n*p的三维随机数组。

我看你帖子里的意思似乎是想生成一个N*3的二位随机数组。如果只是做这件事的话,
randn(m,n)
就可以。它将生成m*n的二维数组(矩阵)。也就是你帖子里用的
NQ = randn(N,3);
就可以。
3楼2012-03-25 08:48:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
li_clifff: 金币+10, ★★★很有帮助 2012-03-28 12:35:20
余泽成: 金币+2, 谢谢参与应助!欢迎常来程序语言版! 2012-03-30 14:10:33
引用回帖:
2楼: Originally posted by 锐利的碎片 at 2012-03-25 08:45:54:
这样只是产生三个独立的gauss随机数,表示的矢量不满足gauss分布。我觉得你要把问题说得更清楚点。

不是的。
采用NQ = randn(N,3);这种方式生成的伪随机数组,在统计意义上就是满足Gauss分布的。当N=100时,我们可以做如下简单的验证:

>>NQ=randn(100,3);
>> mean(NQ)
ans =
   -0.1108   -0.0647    0.0155
>> std(NQ)
ans =
    1.0163    0.9420    0.8736
>> hist(NQ(:,1),20)
>> hist(NQ(:,2),20)
>> hist(NQ(:,3),20)

计算说明NQ的每一列都是0均值,1方差的。直方图也可以看出,分布是形状与Gauss分布接近。
4楼2012-03-25 08:59:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

li_clifff

银虫 (正式写手)

引用回帖:
6楼: Originally posted by 绿遍山原 at 2012-03-25 09:49:08:
http://www.mathworks.cn/help/toolbox/stats/mvnrnd.html
这个是产生多变量gaussian分布的函数

我在想,二维是不是特例,刚好可以用分量来表示,
比如  f(r)=f(x,y)= 1/(2pi) exp{- (x*x+y*y)/2 }   = f(x) f(y),
其中x,y表示向量r的两个坐标分量,这样用两独立的一维标准高斯随机变量表示是可以的,但是如果r是三维的呢?
7楼2012-03-25 11:26:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

li_clifff

银虫 (正式写手)

引用回帖:
4楼: Originally posted by sogooda at 2012-03-25 08:59:33:
不是的。
采用NQ = randn(N,3);这种方式生成的伪随机数组,在统计意义上就是满足Gauss分布的。当N=100时,我们可以做如下简单的验证:

>>NQ=randn(100,3);
>> mean(NQ)
ans =
   -0.1108   - ...

谢谢您的验证,对于满足标准高斯分布的向量,我想应该是可以写成它的分量形式,每一个都是独立同分布的,好像二维三维都可以,你觉得呢
8楼2012-03-25 11:34:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

绿遍山原

铜虫 (小有名气)

★ ★
余泽成: 金币+2, 鼓励讨论! 2012-03-30 14:11:00
引用回帖:
7楼: Originally posted by li_clifff at 2012-03-25 11:26:19:
我在想,二维是不是特例,刚好可以用分量来表示,
比如  f(r)=f(x,y)= 1/(2pi) exp{- (x*x+y*y)/2 }   = f(x) f(y),
其中x,y表示向量r的两个坐标分量,这样用两独立的一维标准高斯随机变量表示是可以的,但是如 ...

二维的分布也不是这个形式
自己看,http://202.117.96.226:8090/gltj/4/gltj04080101.htm
所以直接用独立变量是不行的,三维的用mvnrnd可以求吧。
要夢遊,不要催眠。
9楼2012-03-25 11:50:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

引用回帖:
5楼: Originally posted by 绿遍山原 at 2012-03-25 09:41:48:
这个不一样的,矢量满足的是多变量高斯分布,而randn的算法只产生一维的高斯分布。你做的只是检查了每个分量的均值。
参考这里http://en.wikipedia.org/wiki/Multivariate_normal_distribution#Drawing_values_ ...

恩,谢谢提醒。确实是这样的,看来我对楼主的意思有误解。
建议楼主还是用mnvrnd来生成吧,这样比较严谨。
10楼2012-03-25 16:51:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 li_clifff 的主题更新
信息提示
请填处理意见