本篇文章主要讲解在matlab环境下,如何随机生成满足高斯分布的样本点。
众所周知,高斯分布是一种很常见的数据分布,也是很多实际例子中出现最多的一种分布。我们今天就来学习在matlab环境下绘制出随机分布的满足高斯分布的数据点。
1.二维空间二分类问题
%%参数设置
mean = [2 3]; %%均值
SIGMA = [1 0;0 2]; %%协方差矩阵,假设各维度独立,故可设为对角阵
r = mvnrnd(mean,SIGMA,100); %%最后一个参数表示生成该类100个样本点
plot(r(:,1),r(:,2),'r+');
grid on; %%描绘出网格
hold on; %%停留在图中,
mean = [4 2];
SIGMA = [1 0;0 2];
r2 = mvnrnd(mean,SIGMA,100);
plot(r2(:,1),r2(:,2),'b*')
grid on;
运行结果:
以上很多都是绘图的一些基本命令,最重要的是mvnrnd(mean,SIGMA,100)这个函数,第一个参数表示随机生成的样本点的均值,第二个参数表示这些样本点的协方差矩阵,我们可以假设各维度相互独立,也就是设为对角阵(只有主对角线上的元素不为0),第三个参数100表示生成100个样本点。plot就是绘制图像的函数,前两个参数分别对应的是样本点的第一维和第二维的值,而第三个参数表示'r+',用红色的+标记。那么