matlab中的mvnrnd函式用法
阿新 • • 發佈:2018-11-14
使用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的矩陣