matlab中的mvnrnd函数用法

版权声明:分享才能获得最大的价值 https://blog.csdn.net/qq_32252957/article/details/83788521

使用matlab来实现:

clear all;close all; clc;
% 第一组数据
mul=[0,0]; % 均值
S1=[.1 0;0 .1]; % 协方差
data1=mvnrnd(mul, S1, 100); % 产生高斯分布数据
% 第二组数据
mu2=[1.25 1.25];
S2=[.1 0;0 .1];
data2=mvnrnd(mu2,S2,100);
% 第三组数据
mu3=[-1.25;1.25]
S3=[.1 0;0 .1]
data3=mvnrnd(mu3,S3,100)
% 显示数据
plot(data1(:,1),data1(:, 2),'b+');
hold on;
plot(data2(:,1),data2(:,2),'r+');
plot(data3(:,1),data3(:,2),'g+');

  如图所示:

下面是mvnrnd函数的说明

>> help mvnrnd
mvnrnd - Multivariate normal random numbers

    This MATLAB function returns an n-by-d matrix R of random vectors chosen from
    the multivariate normal distribution with mean MU, and covariance SIGMA.

    R = mvnrnd(MU,SIGMA)
    r = mvnrnd(MU,SIGMA,cases)

可以看到生成的是n行d类的均值为MU,协方差是SIGMA的矩阵

猜你喜欢

转载自blog.csdn.net/qq_32252957/article/details/83788521
今日推荐