高斯分布

\quad在数据建模时,经常会用到高斯分布模型[1,2],下面我们就使用Matlab来绘制高斯分布曲面。
\quad另一种画法可参考:示例代码-Matlab绘制高斯分布曲面图(2)。

1. 首先,需要得到 xoyxoyxoy 平面每个交叉点的坐标。这里,我们需要使用 matlab 中的 meshgrid 函数。
2. 然后,根据高斯分布的均值以及协方差矩阵来计算每个点的概率密度。这里,我们需要使用 matlab 中的 mvnpdf 函数。
3. 最后,将计算出的交叉点的概率绘制出来,形成一个曲面。这里,我们需要使用 matlab 中的 surf 函数。

代码如下:

clear;
clc;mu = zeros(1,2);                       %该高斯分布的均值向量
sigma = [0.9 0.5; 0.5 0.9];            %该高斯分布的协方差矩阵% 第1步.
% 使用 meshgrid 函数得到xoy平面中每个交叉点的坐标,横坐标矩阵 X 、和纵坐标矩阵 Y
[X,Y] = meshgrid(-1.5:0.05:1.5);
[rows,cols] = size(X);
x = reshape(X,rows*cols,1);
y = reshape(Y,rows*cols,1);
p = [x,y];                             %将每个点的横坐标矩阵 X 和纵坐标矩阵 Y 合并到一个矩阵中% 第2步.
% 使用 mvnpdf 函数得到每个点的概率密度
z = mvnpdf(p,mu,sigma);                %求得网格点上的概率密度
Z = reshape(z,rows,cols);% 第3步.
% 使用 surf 函数画出高斯分布的曲面
figure
surf(X,Y,Z);                            %画曲面

此段代码的效果图如下:


 
此外绘制高斯曲面还可以只用 mesh, surfc 和 meshc函数,其中最后两个函数可以显示等高线。可自行运行如下代码观察效果:

surf(X,Y,Z);                %画曲面
mesh(X,Y,Z);                %画网格surfc(X,Y,Z);               %画曲面 ,可以显示等高线
meshc(X,Y,Z);               %画网格 ,可以显示等高线

示例代码地址: https://github.com/Kai-Xuan/MyNote/blob/master/Matlab/Gaussian/gaussian_surf1.m/ [link]

参考:


1. Chen K X, Ren J Y, Wu X J, et al. Covariance Descriptors on a Gaussian Manifold and their Application to Image Set Classification[J]. Pattern Recognition, 2020: 107463. [link]
2. https://ww2.mathworks.cn/help/stats/multivariate-normal-distribution-1.html [link]

示例代码-Matlab绘制高斯分布曲面图(1)相关推荐

  1. MATLAB绘制三维曲面图和等高线 绘图(2)

    绘制三维曲面图步骤: 1): 对数据进行处理,得到三维曲面上的点坐标组 方法有: 1.将自变量离散, x=xmin:dx:xmax y=ymin:dy:ymax 2.利用meshgrid 指令 生成 ...

  2. Matlab来绘制三维曲面图、等高线图等

    文章目录 前言 一.Matlab插值 1.Meshgrid函数 2.Griddata函数 二.绘制 1.使用函数 (1)linspace函数 (2)peaks函数 (3)polt3函数 (4)mesh ...

  3. Matlab绘制三维曲面(以二维高斯函数为例)

    原文地址为: Matlab绘制三维曲面(以二维高斯函数为例) 寒假学习了一下Python下的NumPy和pymatlab,感觉不是很容易上手.来学校之后,决定继续看完数字图像处理一书.还是想按照上学期 ...

  4. matlab绘制星下点轨迹,MATLAB绘制GPS星下点轨迹图

    MATLAB绘制GPS星下点轨迹图 轨迹计算部分参考链接: https://wenku.baidu.com/view/45bd098d4a7302768e9939cf.html 本文对上述matlab ...

  5. matlab色块轮廓,利用matlab绘制矩阵色块图.doc

    <利用matlab绘制矩阵色块图.doc>由会员分享,可在线阅读,更多相关<利用matlab绘制矩阵色块图.doc(19页珍藏版)>请在金锄头文库上搜索. 1.R语言中有一个根 ...

  6. matlab绘制矩阵色块图

    本文转载于https://blog.csdn.net/zzx2016zzx/article/details/80635840 文章目录 1.绘制网格线,网格中显示矩阵元素,显示黑色文字. 2.根据矩阵 ...

  7. Matlab 绘制矩阵色块图

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/zzx2016zzx/article/d ...

  8. python绘制三维曲面图-python中Matplotlib实现绘制3D图的示例代码

    Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...

  9. python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例

    原标题:Python中使用Matplotlib绘制3D图形示例 3D图形能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的3D绘图工具.3D图形在数据分析.数据建模. ...

最新文章

  1. python基础代码事例-数据科学Python基础(附示例代码和练习题目)
  2. NSMutableString和NSString区别,及相互转换方法
  3. RTSP协议-中文定义
  4. 低成本运行 Spark 数据计算
  5. NSLocalizedString 实现国际化
  6. 针对“来用”团队项目之NABC分析
  7. 河北地质大学硕士专业介绍:计算机类
  8. Java反射(Reflection)
  9. Python 列表 count( )方法
  10. 【Java并发编程:volatile关键字之解析】
  11. 学习Spring(四) -- Spring的继承与依赖
  12. linux学习作业-第八周
  13. CSDN如何上传文件
  14. Android对应颜色值代码
  15. tplink软件升级有用吗_tplink路由器固件更新的方法
  16. Macbook Pro touch bar 设置小tips
  17. 阿里云服务器延迟多少?测一下
  18. reco-fetch
  19. Elasticsearch:如何处理 ingest pipeline 中的异常
  20. 十年牧码,我的平凡之路 | 程序员有话说

热门文章

  1. 主成分分析法概述、案例实例分析
  2. Latex中字母上面加符号
  3. echarts实现横向柱图文字在柱图上面
  4. 12. 橡皮擦技术博客写作课,第一版收尾篇,写作也要懂点心理学
  5. 行泊一体方案「换道超车」,TOP10本土供应商领跑新赛道
  6. 2020年博客日报第4篇|多数据源管理插件(支持不同数据库)
  7. 速卖通html编辑页面,速卖通商品发布-基本信息填写
  8. 【搜搜李找】如果宠物能上网,那论坛会变成什么样~~
  9. pybullet中欧拉角姿态可视化及顺序记录(画机械臂末端坐标)
  10. h5,移动端预览pdf文件,使用pdfh5插件