• MATLAB实例:二维高斯分布图


    MATLAB实例:二维高斯分布图

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

    更多请看:随笔分类 - 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;-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. 结果

  • 相关阅读:
    正则表达式
    爬虫原理和网页构造
    简单的博客系统之二
    配置编辑器geany
    linux删除多文件
    eNSP交换路由基础
    NTP centOS6.5
    shell脚本之lftp上传
    进度条
    maketrans与translate函数
  • 原文地址:https://www.cnblogs.com/kailugaji/p/13977821.html
Copyright © 2020-2023  润新知