clear all;
close all;
clc;

randn('seed',0);
mu1=[0 0];
S1=[0.3 0;0 0.35];
cls1_data=mvnrnd(mu1,S1,1000);
plot(cls1_data(:,1),cls1_data(:,2),'+');
hold on;

mu2=[4 0];
S2=[1.2 0;0 1.85];
cls2_data=mvnrnd(mu2,S2,1000);
plot(cls2_data(:,1),cls2_data(:,2),'r+');
axis([-8 8 -8 8]);

for i=-4:0.1:8
for j=-6:0.1:6
d1=([i,j]-mu1)*inv(S1)*([i,j]-mu1)';
d2=([i,j]-mu2)*inv(S2)*([i,j]-mu2)';
d=d1-d2;
if d<0.1
plot(i,j);
end

end
end
grid on;

figure;
mu1=[0 0];
S1=[0.1 0;0 0.75];
cls1_data=mvnrnd(mu1,S1,1000);
plot(cls1_data(:,1),cls1_data(:,2),'+');
hold on;

mu2=[3.2 0];
S2=[0.75 0;0 0.1];
cls2_data=mvnrnd(mu2,S2,1000);
plot(cls2_data(:,1),cls2_data(:,2),'r+');
axis([-8 8 -8 8]);

for i=-8:0.1:8
for j=-8:0.1:8
d1=([i,j]-mu1)*inv(S1)*([i,j]-mu1)';
d2=([i,j]-mu2)*inv(S2)*([i,j]-mu2)';
d=d1-d2;
if d<0.1
plot(i,j);
end

end
end
grid on;

figure;
mu1=[0 3];
S1=[0.3 0;0 0.35];
cls1_data=mvnrnd(mu1,S1,1000);
plot(cls1_data(:,1),cls1_data(:,2),'+');
hold on;

mu2=[4 0];
S2=[0.3 0;0 0.35];
cls2_data=mvnrnd(mu2,S2,1000);
plot(cls2_data(:,1),cls2_data(:,2),'r+');

axis([-8 8 -8 8]);

for i=-8:0.1:8
for j=-8:0.1:8
d1=([i,j]-mu1)*inv(S1)*([i,j]-mu1)';
d2=([i,j]-mu2)*inv(S2)*([i,j]-mu2)';
d=d1-d2;
if d<0.1
plot(i,j);
end

end
end
grid on;

figure;
mu1=[0 -3];
S1=[0.5 1;1 2.5];
cls1_data=mvnrnd(mu1,S1,1000);
plot(cls1_data(:,1),cls1_data(:,2),'+');
hold on;

mu2=[4 0];
S2=[0.5 1;1 2.5];
cls2_data=mvnrnd(mu2,S2,1000);
plot(cls2_data(:,1),cls2_data(:,2),'r+');

axis([-8 8 -8 8]);

for i=-8:0.1:8
for j=-8:0.1:8
d1=([i,j]-mu1)*inv(S1)*([i,j]-mu1)';
d2=([i,j]-mu2)*inv(S2)*([i,j]-mu2)';
d=d1-d2;
if d<0.1
plot(i,j);
end

end
end
grid on;

http://www.cnblogs.com/tiandsp/category/348031.html

matlab练习程序(正态分布贝叶斯分类)的更多相关文章

  1. matlab练习程序(SUSAN检测)

    matlab练习程序(SUSAN检测) SUSAN算子既可以检测角点也可以检测边缘,不过角点似乎比不过harris,边缘似乎比不过Canny.不过思想还是有点意思的. 主要思想就是:首先做一个和原图像 ...

  2. (转)matlab练习程序(HOG方向梯度直方图)

    matlab练习程序(HOG方向梯度直方图)http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html HOG(Histogram o ...

  3. matlab示例程序--Motion-Based Multiple Object Tracking--卡尔曼多目标跟踪程序--解读

    静止背景下的卡尔曼多目标跟踪 最近学习了一下多目标跟踪,看了看MathWorks的关于Motion-Based Multiple Object Tracking的Documention. 官网链接:h ...

  4. matlab练习程序(透视投影,把lena贴到billboard上)

    本练习程序是受到了这个老外博文的启发,感觉挺有意思,就尝试了一下.他用的是opencv,我这里用的是matlab. 过去写过透视投影,当时是用来做倾斜校正的,这次同样用到了透视投影,不过更有意思,是将 ...

  5. matlab练习程序(多圆交点)

    最近总是对计算几何方面的程序比较感兴趣. 多圆求交点,要先对圆两两求交点. 有交点的圆分为相切圆和相交圆. 相切圆求法: 1.根据两圆心求直线 2.求公共弦直线方程 3.求两直线交点即两圆切点. 相交 ...

  6. matlab练习程序(矩形变换为单连通形状)

    变换使用的模板必须是单连通的,而且模板中心必须在模板内,如果在模板中打个结或是月牙形,这里的程序就处理不了了. 虽然非单连通模板也有办法处理,不过不是这里要讨论的. 这里用到的方法和矩形变换为圆那片文 ...

  7. matlab练习程序(渲染三原色)

    这里我用的空间是x向右为正,y向下为正,z向屏幕里面为正.相当于标准右手系绕x轴旋转了180度. 将三个点光源放在 r = [0.3,0,0.5];g = [0.3,-0.5*cos(pi/6),-0 ...

  8. matlab练习程序(生成希尔伯特曲线)

    能够使用这样一条线遍历图像中所有的像素,不过这里没有这样做,而只是生成了这样一条曲线. 程序中h,w是最终图像的高和宽,n为希尔伯特曲线阶数. 这里如果n等于log2(h)或log2(w),则图像就全 ...

  9. matlab练习程序(随机直线采样)

    我只是感觉好玩,写了这样一段程序. 原理就是先随机生成两个点,然后根据这两个点画直线,最后在直线上的像素保留,没在直线上的像素丢弃就行了. 最后生成了一幅含有很多空洞的图像. 当然,对含有空洞的图像是 ...

随机推荐

  1. 第四章:动态规划I

    4.1背包问题 动态规划的核心:如何构造一个高效的备忘录,提高整个问题求解的效率. 4.2最大子数组问题II

  2. Linux查看并杀死被占用的端口

    sudo apt-get install lsof     //安装lsof sudo lsof -i:端口号 //查找对应的进程号 sudo kill -9 进程号 //杀死对应的进程

  3. Codeforces Round #669 (Div. 2) C. Chocolate Bunny 题解(交互)

    题目链接 题目大意 有一个长度为n的全排列,你可以询问2n次,要你经过这个2n次的询问后,求出这个全排列 询问定义为:输入"? i j"输出\(p_{i} mod p_{j}\) ...

  4. jvm系列(二)jvm垃圾收集器与内存分配策略

    众所周知,在java语言中,内存分配和回收是由jvm自动管理的.因此内存的分配和回收也是jvm三大功能之一.垃圾收集器(GC)需要完成三件事情: 哪些内存需要回收? 什么时候进行回收? 如何回收? 本 ...

  5. Apache Beam,批处理和流式处理的融合!

    1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念. 我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语.之后,我们将通过一个简单的例子来说明 ...

  6. volatile禁止重排使用场景与单例模式的Double Check Lock

    普通单例模式Demo public class Demo{ private static Demo INSTANCE; private Demo(){} public static Demo getI ...

  7. 新手上路之如何选择Java版本

    @ 目录 LTS与非LTS LTS 非LTS Java CPU与PSU Java SE.Java EE.Java ME的区别 Java SE Java EE Java ME 每一次JDK上新总有一群人 ...

  8. NodeService Ensure that Node.js is installed and can be found in one of the PATH directories

    今天发布NodeService到服务器,服务器环境是window server 2012 一直报错: [1] Ensure that Node.js is installed and can be f ...

  9. 支持“EFDBContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库

    在修改数据库表后会出现 支持"EFDBContext"上下文的模型已在数据库创建后发生更改.请考虑使用 Code First 迁移更新数据库 这个问题解决方法: 在Global.a ...

  10. 【Alpha冲刺阶段】Scrum Meeting Daily5

    [Alpha冲刺阶段]Scrum Meeting Daily5 1.会议简述 会议开展时间 2020/5/27 8:30-9:00 PM 会议基本内容摘要 大家讲述了自己的任务完成情况以及遇到的问题 ...