作业帮 > 综合 > 作业

matlab关于randn函数的应用问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 06:07:29
matlab关于randn函数的应用问题
查阅协方差矩阵概念,利用randn函数生成协方差矩阵为[2 0;0 2],均值为[1;1]的二维正态分布数据,并用scatter函数画出来.对照协方差矩阵的概念分析该组数据是否完全符合二维正态分布性质,如果协方差矩阵为[2 1;1 2],则该如何生成?通过相关文献查找MATLAB是否具有相应函数用于直接生成二维正态分布数据,并用该函数解决上述问题.
利用randn函数生成的代码:
S = [2 0; 0 2];  % 协方差矩阵
M = [1; 1];      % 均值
N = 1000;        % 数据点数
L = chol(S,'lower');
r = (L*randn(2,N) + repmat(M(:),1,N))';
scatter(r(:,1),r(:,2))
 

 
检验(分别求协方差矩阵和均值向量):
cov(r(:,1),r(:,2))
mean(r)
 
MATLAB的统计工具箱(Statistics Toolbox)提供了多元正态分布的函数mvnrnd,可以直接使用:
S = [2 0; 0 2];  % 协方差矩阵
M = [1; 1];      % 均值
N = 1000;        % 数据点数
r = mvnrnd(M,S,N);
scatter(r(:,1),r(:,2))