凯鲁嘎吉
用书写铭记日常,最迷人的不在远方
posts - 292,comments - 409,views - 138万
回到顶部(go to top)

MATLAB实例:二维高斯分布图

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

更多请看:随笔分类 - MATLAB作图

问题描述:用MATLAB在一张图上同时画出二维高斯散点图与分布图。

数据来源:MATLAB高斯混合数据的生成 将二维数据保存为gauss_data.txt。

前期工作:

1. MATLAB程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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;-1 2];
%第三类数据
mu3=[-4 4];
S3=[2 1;1 2];
%第四类数据
mu4=[-4 -4];
S4=[2 -1;-1 2];
%第五类数据
mu5=[4 -4];
S5=[2 1;1 2];
 
%% 高斯概率密度函数
% 分量1
y_1=mvnpdf(X, mu1, S1);
y_1=reshape(y_1, length(x2), length(x1));
% 分量2
y_2=mvnpdf(X, mu2, S2);
y_2=reshape(y_2, length(x2), length(x1));
% 分量3
y_3=mvnpdf(X, mu3, S3);
y_3=reshape(y_3, length(x2), length(x1));
% 分量4
y_4=mvnpdf(X, mu4, S4);
y_4=reshape(y_4, length(x2), length(x1));
% 分量5
y_5=mvnpdf(X, mu5, S5);
y_5=reshape(y_5, length(x2), length(x1));
%% 作图
figure(1)
contour(x1, x2, y_1);
hold on
contour(x1, x2, y_2);
contour(x1, x2, y_3);
contour(x1, x2, y_4);
contour(x1, x2, y_5);
xlabel('X');
ylabel('Y');
plot(data_1(:, 1), data_1(:, 2), 'b.', 'MarkerSize',10 );
hold on
plot(data_2(:, 1), data_2(:, 2), 'r^', 'MarkerSize',4, 'MarkerFaceColor','r');
plot(data_3(:, 1), data_3(:, 2), 'ko', 'MarkerSize',4, 'MarkerFaceColor','g');
plot(data_4(:, 1), data_4(:, 2), 'rp', 'MarkerSize',4, 'MarkerFaceColor','y');
plot(data_5(:, 1), data_5(:, 2), 'mh', 'MarkerSize',4, 'MarkerFaceColor','m');
saveas(gcf,sprintf('2D_Gauss_PDF.jpg'),'bmp'); %保存图片

2. 结果

posted on   凯鲁嘎吉  阅读(3626)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析

点击右上角即可分享
微信分享提示