楼主: duyongqiang
21072 11

如何用matlab生成三维正态分布的随机数 [推广有奖]

  • 0关注
  • 1粉丝

博士生

31%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0.0600
学术水平
4 点
热心指数
4 点
信用等级
3 点
经验
1351 点
帖子
133
精华
0
在线时间
338 小时
注册时间
2008-8-4
最后登录
2021-6-8

楼主
duyongqiang 发表于 2012-12-12 00:28:52 |AI写论文
10论坛币
举例:均值向量:μ=(1,2,3);标准差向量:σ=(0.1,0.2,0.3)。现在要根据均值向量和标准差向量的信息,生成符合三维正态分布的随机数。

关键词:MATLAB matla atlab 正态分布 如何用 三维 正态分布 matlab 如何

回帖推荐

TaskShare 发表于7楼  查看完整内容

我用GOOGLE搜了下,MATLAB关于多维正态,看到如下链接(似乎就是关于MATLAB生成Multivariate normal random numbers)的文档,供参考: http://www.mathworks.cn/cn/help/stats/mvnrnd.html

沙发
TaskShare 发表于 2012-12-12 19:18:34
我没学过matlab,我只是觉得你的问题有点没说清楚:相关系数是什么。

也就是说要确定一个三维正态分布,光标准差向量不够,还要知道方差矩阵(3×3矩阵)。除非相关系数全是零。如果相关系数都是零,我觉得,要生成一组三维正态分布的随机数,等同于生成三组互相独立的一维正态分布的随机数,因为两者没差别(正态情况下,相关系数是0等同于独立)。

藤椅
duyongqiang 发表于 2012-12-12 20:22:21
TaskShare 发表于 2012-12-12 19:18
我没学过matlab,我只是觉得你的问题有点没说清楚:相关系数是什么。

也就是说要确定一个三维正态分布, ...
确实是没有说清楚。重新表述如下:
举例如:向量(a1,b1,c1),(a2,b2,c2),……,(a10,b10,c10)均为已知数据。μ1、σ1分别是a1,a2,……,a10的均值和标准差;μ2、σ2是b1,b2,……,b10的均值和标准差;μ3、σ3是c1,c2,……,c10的均值和标准差。我需要以μ=(μ1,μ2,μ3)为均值向量,以Σ为协方差矩阵,生成一定数量(不妨设生成100个吧)的符合三维正态分布的随机数。
至于您提到的相关系数,我认为这个要根据向量(a1,b1,c1),(a2,b2,c2),……,(a10,b10,c10)的具体数据来计算,存在非常大的可能相关系数是非0的,也就是说不能分别对{ai},{bi},{ci}生成符合一维正态分布的随机数。

板凳
小草依然 发表于 2012-12-12 20:26:53

报纸
duyongqiang 发表于 2012-12-12 20:27:34
TaskShare 发表于 2012-12-12 19:18
我没学过matlab,我只是觉得你的问题有点没说清楚:相关系数是什么。

也就是说要确定一个三维正态分布, ...
确实是没有说清楚。重新表述如下:
举例如:向量(a1,b1,c1),(a2,b2,c2),……,(a10,b10,c10)均为已知数据。μ1、σ1分别是a1,a2,……,a10的均值和标准差;μ2、σ2是b1,b2,……,b10的均值和标准差;μ3、σ3是c1,c2,……,c10的均值和标准差。我需要以μ=(μ1,μ2,μ3)为均值向量,以Σ为协方差矩阵,生成一定数量(不妨设生成100个吧)的符合三维正态分布的随机数。
至于您提到的相关系数,我认为这个要根据向量(a1,b1,c1),(a2,b2,c2),……,(a10,b10,c10)的具体数据来计算,存在非常大的可能相关系数是非0的,也就是说不能分别对{ai},{bi},{ci}生成符合一维正态分布的随机数。

地板
duyongqiang 发表于 2012-12-12 20:28:36
TaskShare 发表于 2012-12-12 19:18
我没学过matlab,我只是觉得你的问题有点没说清楚:相关系数是什么。

也就是说要确定一个三维正态分布, ...
确实是没有说清楚。重新表述如下:
举例如:向量(a1,b1,c1),(a2,b2,c2),……,(a10,b10,c10)均为已知数据。μ1、σ1分别是a1,a2,……,a10的均值和标准差;μ2、σ2是b1,b2,……,b10的均值和标准差;μ3、σ3是c1,c2,……,c10的均值和标准差。我需要以μ=(μ1,μ2,μ3)为均值向量,以Σ为协方差矩阵,生成一定数量(不妨设生成100个吧)的符合三维正态分布的随机数。
至于您提到的相关系数,我认为这个要根据向量(a1,b1,c1),(a2,b2,c2),……,(a10,b10,c10)的具体数据来计算,存在非常大的可能相关系数是非0的,也就是说不能分别对{ai},{bi},{ci}生成符合一维正态分布的随机数。

7
TaskShare 发表于 2012-12-12 22:12:32
duyongqiang 发表于 2012-12-12 20:22
确实是没有说清楚。重新表述如下:
举例如:向量(a1,b1,c1),(a2,b2,c2),……,(a10,b10,c10)均为已知数 ...
我用GOOGLE搜了下,MATLAB关于多维正态,看到如下链接(似乎就是关于MATLAB生成Multivariate normal random numbers)的文档,供参考:
http://www.mathworks.cn/cn/help/stats/mvnrnd.html

8
duyongqiang 发表于 2012-12-12 22:31:02
TaskShare 发表于 2012-12-12 22:12
我用GOOGLE搜了下,MATLAB关于多维正态,看到如下链接(似乎就是关于MATLAB生成Multivariate normal rand ...
非常感谢你的帮助!

9
yuandfang 发表于 2012-12-12 23:02:06
在我们假定sigma为对角阵时的代码,楼主可以自己改sigma中的值。不知道是否可行?
代码如下:
mu = [1 2 3];
sigma = [0.1 0 0;0 0.2 0;0 0 0.3 ];
r = mvnrnd(mu,sigma,10);

10
duyongqiang 发表于 2012-12-14 13:52:41
yuandfang 发表于 2012-12-12 23:02
在我们假定sigma为对角阵时的代码,楼主可以自己改sigma中的值。不知道是否可行?
代码如下:
mu = [1 2  ...
谢谢,可以了!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-2 05:44