matlab练习程序(正态分布贝叶斯分类)
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练习程序(正态分布贝叶斯分类)的更多相关文章
- matlab练习程序(SUSAN检测)
matlab练习程序(SUSAN检测) SUSAN算子既可以检测角点也可以检测边缘,不过角点似乎比不过harris,边缘似乎比不过Canny.不过思想还是有点意思的. 主要思想就是:首先做一个和原图像 ...
- (转)matlab练习程序(HOG方向梯度直方图)
matlab练习程序(HOG方向梯度直方图)http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html HOG(Histogram o ...
- matlab示例程序--Motion-Based Multiple Object Tracking--卡尔曼多目标跟踪程序--解读
静止背景下的卡尔曼多目标跟踪 最近学习了一下多目标跟踪,看了看MathWorks的关于Motion-Based Multiple Object Tracking的Documention. 官网链接:h ...
- matlab练习程序(透视投影,把lena贴到billboard上)
本练习程序是受到了这个老外博文的启发,感觉挺有意思,就尝试了一下.他用的是opencv,我这里用的是matlab. 过去写过透视投影,当时是用来做倾斜校正的,这次同样用到了透视投影,不过更有意思,是将 ...
- matlab练习程序(多圆交点)
最近总是对计算几何方面的程序比较感兴趣. 多圆求交点,要先对圆两两求交点. 有交点的圆分为相切圆和相交圆. 相切圆求法: 1.根据两圆心求直线 2.求公共弦直线方程 3.求两直线交点即两圆切点. 相交 ...
- matlab练习程序(矩形变换为单连通形状)
变换使用的模板必须是单连通的,而且模板中心必须在模板内,如果在模板中打个结或是月牙形,这里的程序就处理不了了. 虽然非单连通模板也有办法处理,不过不是这里要讨论的. 这里用到的方法和矩形变换为圆那片文 ...
- matlab练习程序(渲染三原色)
这里我用的空间是x向右为正,y向下为正,z向屏幕里面为正.相当于标准右手系绕x轴旋转了180度. 将三个点光源放在 r = [0.3,0,0.5];g = [0.3,-0.5*cos(pi/6),-0 ...
- matlab练习程序(生成希尔伯特曲线)
能够使用这样一条线遍历图像中所有的像素,不过这里没有这样做,而只是生成了这样一条曲线. 程序中h,w是最终图像的高和宽,n为希尔伯特曲线阶数. 这里如果n等于log2(h)或log2(w),则图像就全 ...
- matlab练习程序(随机直线采样)
我只是感觉好玩,写了这样一段程序. 原理就是先随机生成两个点,然后根据这两个点画直线,最后在直线上的像素保留,没在直线上的像素丢弃就行了. 最后生成了一幅含有很多空洞的图像. 当然,对含有空洞的图像是 ...
随机推荐
- 第四章:动态规划I
4.1背包问题 动态规划的核心:如何构造一个高效的备忘录,提高整个问题求解的效率. 4.2最大子数组问题II
- Linux查看并杀死被占用的端口
sudo apt-get install lsof //安装lsof sudo lsof -i:端口号 //查找对应的进程号 sudo kill -9 进程号 //杀死对应的进程
- Codeforces Round #669 (Div. 2) C. Chocolate Bunny 题解(交互)
题目链接 题目大意 有一个长度为n的全排列,你可以询问2n次,要你经过这个2n次的询问后,求出这个全排列 询问定义为:输入"? i j"输出\(p_{i} mod p_{j}\) ...
- jvm系列(二)jvm垃圾收集器与内存分配策略
众所周知,在java语言中,内存分配和回收是由jvm自动管理的.因此内存的分配和回收也是jvm三大功能之一.垃圾收集器(GC)需要完成三件事情: 哪些内存需要回收? 什么时候进行回收? 如何回收? 本 ...
- Apache Beam,批处理和流式处理的融合!
1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念. 我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语.之后,我们将通过一个简单的例子来说明 ...
- volatile禁止重排使用场景与单例模式的Double Check Lock
普通单例模式Demo public class Demo{ private static Demo INSTANCE; private Demo(){} public static Demo getI ...
- 新手上路之如何选择Java版本
@ 目录 LTS与非LTS LTS 非LTS Java CPU与PSU Java SE.Java EE.Java ME的区别 Java SE Java EE Java ME 每一次JDK上新总有一群人 ...
- 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 ...
- 支持“EFDBContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库
在修改数据库表后会出现 支持"EFDBContext"上下文的模型已在数据库创建后发生更改.请考虑使用 Code First 迁移更新数据库 这个问题解决方法: 在Global.a ...
- 【Alpha冲刺阶段】Scrum Meeting Daily5
[Alpha冲刺阶段]Scrum Meeting Daily5 1.会议简述 会议开展时间 2020/5/27 8:30-9:00 PM 会议基本内容摘要 大家讲述了自己的任务完成情况以及遇到的问题 ...