MATLAB实例:二维高斯分布图
问题描述:用MATLAB在一张图上同时画出二维高斯散点图与分布图。
数据来源:MATLAB高斯混合数据的生成 将二维数据保存为gauss_data.txt。
前期工作:
1. MATLAB程序
clear
clc
% Author: 凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/
%% 加载数据
data_load=dlmread('./gauss_data.txt');
% 每一类
data_1=data_load(data_load(:, end)==1, :);
data_2=data_load(data_load(:, end)==2, :);
data_3=data_load(data_load(:, end)==3, :);
data_4=data_load(data_load(:, end)==4, :);
data_5=data_load(data_load(:, end)==5, :);
%% 空间坐标范围
x1=-8:0.1:8;
x2=-10:0.1:8;
[X1, X2]=meshgrid(x1, x2);
X=[X1(:) X2(:)];
%第一类数据
mu1=[0 0]; % 均值
S1=[1 0;0 1]; % 协方差
%第二类数据
mu2=[4 4];
S2=[2 -1;-