当前位置:文档之家› 实验一Bayes分类器设计

实验一Bayes分类器设计

实验一Bayes分类器设计
实验一Bayes分类器设计

实验五:FIR数字滤波器设计与软件实现

实验五:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord 和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材; ○2采样频率Fs=1000Hz,采样周期T=1/Fs; ○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截

至频率fs=150Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率s 20.3s f ωπ=T =π,阻带最小衰为60dB 。 ○ 4实验程序框图如图2所示,供读者参考。 图2 实验程序框图 4.思考题 (1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤. (2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和pu ω,阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。 (3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低? 5.信号产生函数xtg 程序清单(见教材) 二、 滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率fp=120Hz ,阻带截至频率fs=150Hz 。代入采样频率Fs=1000Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率

实验一 词法分析器的设计

实验一词法分析器的设计 (2) 1.1 词法分析器的结构和主要任务 (2) 1.1.1 输入输出接口 (2) 1.1.2 条件限制 (2) 1.2 词法分析程序的总体设计 (3) 1.3 词法分析程序的详细设计 (4) 1.4实验步骤 (5) 1.5输入数据 (15) 1.6结果输出 (15)

实验一词法分析器的设计 实验目的:掌握词法分析的概念,设计方法,熟悉高级语言中词法的定义,词法分析程序的编写。 实验要求:在8学时内实现SAMPLE语言的词法分析器,要求用VC窗口界面实现。 实验内容:分为4次实验完成。 1.1 词法分析器的结构和主要任务 1.1.1 输入输出接口 图1-1词法分析器的输入输出界面 词法分析程序的主要任务是从左到右扫描每行源程序,拼成单词,换成统一的内部表示(token)输出,送给语法分析器。具体包括: 1.组织源程序的输入; 2.按规则拼单词,并转换成二元形式; 3.滤掉空白符,跳过注释、换行符及一些无用的符号(如字符常数的引号) 4.进行行列计数,用于指出出错的行列号,并复制出错部分; 5.列表打印源程序; 6.发现并定位词法错误; 7.生成符号表。 token文件和符号表用作语法分析的输入部分。 1.1.2 条件限制 本实验可以作如下假定: (1) 假定SAMPLE语言采用自由格式书写; (2) 可以使用注解,用/*……*/或者{……}标识,但注解不能插在单词内部,注解要在一行内结束,若一行结束,没有遇到注释后面的结束标记,自动认为注释也结束; (3) 一行可以有多个语句,一个语句也可以分布在多行中,单词之间和语句之间可以插入任意空格,单词中间不能有空白符号,单词中间也不能有回车换行符,即单词不能跨行书写; (4) 关键字都是保留字。

贝叶斯分类器的matlab实现

贝叶斯分类器的matlab实现 贝叶斯分类原理: 1)在已知P(Wi),P(X|Wi)(i=1,2)及给出待识别的X的情况下,根据贝叶斯公式计算出后验概率P(Wi|X) ; 2)根据1)中计算的后验概率值,找到最大的后验概率,则样本X属于该类 举例: 解决方案: 但对于两类来说,因为分母相同,所以可采取如下分类标准:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% %By Shelley from NCUT,April 14th 2011 %Email:just_for_h264@https://www.doczj.com/doc/ee15012070.html, %此程序利用贝叶斯分类算法,首先对两类样本进行训练, %进而可在屏幕上任意取点,程序可输出属于第一类,还是第二类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% clear; close all %读入两类训练样本数据 load data %求两类训练样本的均值和方差 u1=mean(Sample1); u2=mean(Sample2); sigm1=cov(Sample1); sigm2=cov(Sample2); %计算两个样本的密度函数并显示 x=-20:0.5:40; y= -20:0.5:20; [X,Y] = meshgrid(x,y); F1 = mvnpdf([X(:),Y(:)],u1,sigm1); F2 = mvnpdf([X(:),Y(:)],u2,sigm2); P1=reshape(F1,size(X)); P2=reshape(F2,size(X)); figure(2) surf(X,Y,P1) hold on surf(X,Y,P2) shading interp colorbar title('条件概率密度函数曲线'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %以下为测试部分 %利用ginput随机选取屏幕上的点(可连续取10个点)

IIR数字滤波器的设计实验报告

IIR数字滤波器的设计 一、实验目的: 掌握冲激相应不变法和双线性变换法设计IIR数字滤波器的原理和方法; 观察冲激相应不变法和双线性变换法设计IIR数字滤波器的频率特性; 了解冲激相应不变法和双线性变换法的特点和区别。 二、实验原理: 无限长单位冲激响应(IIR)数字滤波器的设计思想: a)设计一个合适的模拟滤波器 b)利用一定的变换方法将模拟滤波器转换成满足预定指 标的数字滤波器 切贝雪夫I型:通带中是等波纹的,阻带是单调的

切贝雪夫II型:通带中是单调的,阻带是等波纹的 1.用冲击响应不变法设计一个低通切贝雪夫I型数字滤波器通带上限截止频率为400Hz 阻带截止频率为600Hz 通带最大衰减为0.3分贝 阻带最小衰减为60分贝 抽样频率1000Hz 2.用双线性变换法设计切贝雪夫II型高通滤波器 通带截止频率2000Hz 阻带截止频率1500Hz 通带最大衰减0.3分贝 阻带最小衰减50分贝 抽样频率20000Hz 四、实验程序:

1) Wp=2*pi*400; Ws=2*pi*600; Rp=0.3; Rs=60; Fs=1000; [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s'); [Z,P,K]=cheb1ap(N,Rp); [A,B,C,D]=zp2ss(Z,P,K); [At,Bt,Ct,Dt]=lp2lp(A,B,C,D,Wn); [num1,den1]=ss2tf(At,Bt,Ct,Dt); [num2,den2]=impinvar(num1,den1,Fs); [H,W1]=freqs(num1,den1); figure(1) subplot(2,1,1); semilogx(W1/pi/2,20*log10(abs(H)));grid; xlabel(' 频率/ Hz'); ylabel(' 模拟滤波器幅值(db)'); [H,W2]=freqz(num2,den2,512,'whole',Fs); subplot(2,1,2); plot(W2,20*log10(abs(H)));grid; xlabel(' 频率/ Hz');

编译原理实验--词法分析器

编译原理实验--词法分析器 实验一词法分析器设计 【实验目的】 1(熟悉词法分析的基本原理,词法分析的过程以及词法分析中要注意的问题。 2(复习高级语言,进一步加强用高级语言来解决实际问题的能力。 3(通过完成词法分析程序,了解词法分析的过程。 【实验内容】 用C语言编写一个PL/0词法分析器,为语法语义分析提供单词,使之能把输入的字符 串形式的源程序分割成一个个单词符号传递给语法语义分析,并把分析结果(基本字, 运算符,标识符,常数以及界符)输出。 【实验流程图】

【实验步骤】 1(提取pl/0文件中基本字的源代码 while((ch=fgetc(stream))!='.') { int k=-1; char a[SIZE]; int s=0; while(ch>='a' && ch<='z'||ch>='A' && ch<='Z') { if(ch>='A' && ch<='Z') ch+=32; a[++k]=(char)ch; ch=fgetc(stream); } for(int m=0;m<=12&&k!=-1;m++) for(int n=0;n<=k;n++) {

if(a[n]==wsym[m][n]) ++s; else s=0; if(s==(strlen(wsym[m]))) {printf("%s\t",wsym[m]);m=14;n=k+1;} } 2(提取pl/0文件中标识符的源代码 while((ch=fgetc(stream))!='.') { int k=-1; char a[SIZE]=" "; int s=0; while(ch>='a' && ch<='z'||ch>='A' && ch<='Z') { if(ch>='A' && ch<='Z') ch+=32; a[++k]=(char)ch; ch=fgetc(stream); } for(int m=0;m<=12&&k!=-1;m++) for(int n=0;n<=k;n++) { if(a[n]==wsym[m][n]) ++s; else s=0; if(s==(strlen(wsym[m]))) {m=14;n=k+1;} } if(m==13) for(m=0;a[m]!=NULL;m++) printf("%c ",a[m]);

贝叶斯实验报告word精品

HUNAN UNIVERSITY 人工智能实验报告 题目实验三:分类算法实验学生姓名匿名 学生学号2013080702XX 专业班级智能科学与技术1302班 指导老师袁讲

一.实验目的 1. 了解朴素贝叶斯算法的基本原理; 2. 能够使用朴素贝叶斯算法对数据进行分类 3. 了解最小错误概率贝叶斯分类器和最小风险概率贝叶斯分类器 4. 学会对于分类器的性能评估方法 二、实验的硬件、软件平台 硬件:计算机 软件:操作系统:WINDOWS10 应用软件:C,Java或者Matlab 相关知识点: 贝叶斯定理: 汽恥;表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概 率,其基本求解公式为: 贝叶斯定理打通了从P(A|B)获得P(B|A)的道路。 直接给出贝叶斯定理:.■- - ■■ ---------- —1 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很 朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。 朴素贝叶斯分类的正式定义如下: 1、设厂;'贋丄丫叱厂北沱如》为一个待分类项,而每个a为x的一个特征属性。 2、有类别集合渝一;号J 3、计算「门|八-" …厂乞 4、如果卩如囂)= ?"说{戸(如巩卩(如冋"卩(如盂)},则? &蚊 那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做: 1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。 2、统计得到在各类别下各个特征属性的条件概率估计。即

实验四数字滤波器的设计实验报告

数字信号处理 实验报告 实验四 IIR数字滤波器的设计学生姓名张志翔 班级电子信息工程1203班 学号 指导教师 实验四 IIR数字滤波器的设计 一、实验目的: 1. 掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设 计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的MATLAB编程。 2. 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。 3.熟悉Butterworth滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。 二、实验原理: 1.脉冲响应不变法 用数字滤波器的单位脉冲响应序列模仿模拟滤波器的冲激响应 ,让正好等于的采样值,即,其中为采样间隔,如果以及分别表示的拉式变换及的Z变换,则 2.双线性变换法 S平面与z平面之间满足以下映射关系:

s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。 双线性变换不存在混叠问题。 双线性变换是一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。 三、实验内容及步骤: 实验中有关变量的定义: fc 通带边界频率; fr阻带边界频率;δ通带波动;At 最小阻带衰减; fs采样频率; T采样周期 (1) =0.3KHz, δ=0.8Db, =0.2KHz, At =20Db,T=1ms; 设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。 MATLAB源程序: wp=2*1000*tan(2*pi*300/(2*1000)); ws=2*1000*tan(2*pi*200/(2*1000)); [N,wn]=cheb1ord(wp,ws,0.8,20,'s'); %给定通带(wp)和阻带(ws)边界角频率,通带波动波动0.8,阻带最小衰减20dB,求出最低阶数和通带滤波器的通带边界频率Wn [B,A]=cheby1(N,0.5,wn,'high','s');%给定通带(wp)和阻带(ws)边界角频率,通带波动 [num,den]=bilinear(B,A,1000); [h,w]=freqz(num,den); f=w/(2*pi)*1000; plot(f,20*log10(abs(h)));

东南大学编译原理词法分析器实验报告

词法分析设计 1. 实验目的 通过本实验的编程实践,了解词法分析的任务,掌握词法分析程序设计的原理和构造方法,对编译的基本概念、原理和方法有完整的和清楚的理解,并能正确地、熟练地运用。 2. 实验内容 用C++语言实现对C++语言子集的源程序进行词法分析。通过输入源程序从左到右对字符串进行扫描和分解,依次输出各个单词的内部编码及单词符号自身值;若遇到错误则显示“Error”,然后跳过错误部分继续显示;同时进行标识符登记符号表的管理。 3. 实验原理 本次实验采用NFA->DFA->DFA0的过程: 对待分析的简单的词法(关键词/id/num/运算符/空白符等)先分别建立自己的FA,然后将他们用产生式连接起来并设置一个唯一的开始符,终结符不合并。 待分析的简单的词法 (1)关键字: "asm","auto","bool","break","case","catch","char","class","

const","const_cast"等 (2)界符(查表) ";",",","(",")","[","]","{","}" (3)运算符 "*","/","%","+","-","<<","=",">>","&","^","|","++","--"," +=","-=","*=","/=","%=","&=","^=","|=" relop: (4)其他单词是标识符(ID)和整型常数(SUM),通过正规式定义。 id/keywords: digit: (5)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。

实验1 贝叶斯分类实验

实验一:贝叶斯分类实验 学时:4学时 实验目的:设计简单的线性分类器,了解模式识别的基本方法。掌握利用贝叶斯公式进行设计分类器的方法。 实验内容: (1) 简单分类:有两类样本(如鲈鱼和鲑鱼),每个样本有两个特征(如长度和亮度),每类有若干个(比如20个)样本点,假设每类样本点服从二维正态分布,自己随机给出具体数据,计算每类数据的均值点,并且把两个均值点连成一线段,用垂直平分该线段的直线作为分类边界。再根据该分类边界对一随机给出的样本判别类别。画出如下图形。 提示: 1.可以入下产生第一类数据: % x1是第一类数据,每一行代表一个样本(两个特征) x1(:,1) = normrnd(10,4,20,1); x1(:,2) = normrnd(12,4,20,1); % 第2类数据 x2(:,1) = normrnd(15,4,20,1); x2(:,2) = normrnd(13,4,20,1); 2.可假设分类边界为 kx-y+b=0,根据垂直平分的条件计算出k和b。 3.如果新的样本点代入分类边界方程的值的符号和第一类样本均值代入分类边界方程的符号相同,则是判断为第一类。

(2) 贝叶斯分类:根据贝叶斯公式,给出在类条件概率密度为正态分布时具体的判别函数表达式,用此判别函数设计分类器。数据随机生成,比如生成两类样本(如鲈鱼和鲑鱼),每个样本有两个特征(如长度和亮度),每类有若干个(比如20个)样本点,假设每类样本点服从二维正态分布,随机生成具体数据,然后估计每类的均值与协方差,在下列各种情况下求出分类边界。先验概率自己给定,比如都为0.5。如果可能,画出在两类协方差不相同的情况下的分类边界。 提示: 若第一类的样本为{}12,,n x x x ,则第一类均值的估计为1 1?n k k x n μ==∑,协方差的估计为1 1???()()n T k k k x x n μμ=∑=--∑。若若第一类的样本为: 则均值的估计为: 134x ??=????238x ??=????326x ??=????446x ??=????

实验五FIR数字滤波器的设计

实验六 FIR 数字滤波器的设计 一、实验目的 1.熟悉FIR 滤波器的设计基本方法 2.掌握用窗函数设计FIR 数字滤波器的原理与方法。 二、实验内容 1.FIR 数字滤波器的设计方法 FIR 滤波器的设计问题在于寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应)(ωj d e H ,其对应的单位脉冲响应为)(n h d 。 (1)用窗函数设计FIR 滤波器的基本原理 设计思想:从时域从发,设计)(n h 逼近理想)(n h d 。设理想滤波器)(ωj d e H 的单位脉 冲响应为)(n h d 。以低通线性相位FIR 数字滤波器为例。 ?∑--∞-∞=== ππωωωωω πd e e H n h e n h e H jn j d d jn n d j d )(21)()()( (6-1) )(n h d 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即 ???-==2 /)1()()()(N a n w n h n h d (6-2) 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs )效应。为了消除吉布斯效应,一般采用其他类型的窗函数。 (2) 典型的窗函数 ① 矩形窗(Rectangle Window) )()(n R n w N = (6-3)

词法分析器实验报告

词法分析器实验报告 词法分析器设计 一、实验目的: 对C语言的一个子集设计并实现一个简单的词法分析器,掌握利用状 态转换图设计词法分析器的基本方法。利用该词法分析器完成对源程 序字符串的词法分析。输出形式是源程序的单词符号二元式的代码, 并保存到文件中。 二、实验内容: 1. 设计原理 词法分析的任务:从左至右逐个字符地对源程序进行扫描,产生一个个单词符号。 理论基础:有限自动机、正规文法、正规式 词法分析器(Lexical Analyzer) 又称扫描器(Scanner):执行词法分析的程序 2. 词法分析器的功能和输出形式 功能:输入源程序、输出单词符号 程序语言的单词符号一般分为以下五种:关键字、标识符、常数、运算符,界符 3. 输出的单词符号的表示形式: 单词种别用整数编码,关键字一字一种,标识符统归为一种,常数一种,各种符号各一种。 4. 词法分析器的结构 单词符号 5. 状态转换图实现

三、程序设计 1.总体模块设计 /*用来存储目标文件名*/ string file_name; /*提取文本文件中的信息。*/ string GetText(); /*获得一个单词符号,从位置i开始查找。并且有一个引用参数j,用来返回这个单词最后一个字符在str的位置。*/ string GetWord(string str,int i,int& j); /*这个函数用来除去字符串中连续的空格和换行 int DeleteNull(string str,int i); /*判断i当前所指的字符是否为一个分界符,是的话返回真,反之假*/ bool IsBoundary(string str,int i); /*判断i当前所指的字符是否为一个运算符,是的话返回真,反之假*/ bool IsOperation(string str,int i);

编译原理实验_词法分析器的设计与实现

南华大学 计算机科学与技术学院实验报告 ( 2018~2019学年度第二学期) 课程名称编译原理 实验名称词法分析器的设计与 实现 学号 专业班级 地点教师

1.实验目的及要求 实验目的 加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。 实验要求 1.对单词的构词规则有明确的定义; 2.编写的分析程序能够正确识别源程序中的单词符号; 3.识别出的单词以<种别码,值>的形式保存在符号表中,正确设计和维护 符号表; 4.对于源程序中的词法错误,能够做出简单的错误处理,给出简单的错误 提示,保证顺利完成整个源程序的词法分析; 2.实验步骤 1.词法分析规则 <标识符>::=<字母>|<标识符><字母>|<标识符><数字> <常数>::=<数字>|<数字序列><数字> <数字序列>::=<数字序列><数字>|<数字>|<.> <字母>::=a|b|c|……|x|y|z <数字>::=0|1|2|3|4|5|6|7|8|9 <运算符>::=<关系运算符>|<算术运算符>|<逻辑运算符>|<位运算符>|<赋值运算符> <算数运算符>::=+|-|*|/|...|-- <关系运算符>::=<|>|!=|>=|<=|== <逻辑运算符>::=&&| || |! <位运算符>::=&| | |! <赋值运算符>::==|+=|-=|/=|*= <分界符>::=,|;|(|)|{|}|:| // |/**/ <保留字>::=main|if|else|while|do|for|...|void

Bayes分类器设计

实验一 Bayes 分类器设计 【实验目的】 对模式识别有一个初步的理解,能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识,理解二类分类器的设计原理。 【实验条件】 Matlab 软件 【实验原理】 根据贝叶斯公式,给出在类条件概率密度为正态分布时具体的判别函数表达式,用此判别函数设计分类器。数据随机生成,比如生成两类样本(如鲈鱼和鲑鱼),每个样本有两个特征(如长度和亮度),每类有若干个(比如50个)样本点,假设每类样本点服从二维正态分布,随机生成具体数据,然后估计每类的均值与协方差,在下列各种情况下求出分类边界。先验概率自己给定,比如都为0.5。如果可能,画出在两类协方差不相同的情况下的分类边界。 若第一类的样本为{}12,,n x x x ,则第一类均值的估计为1 1?n k k x n μ==∑,协方差的估计为1 1???()()n T k k k x x n μμ=∑=--∑。则在两类协方差不相同的情况下的判别函数为: 判别边界为g1(x)-g2(x)=0,是一条一般二次曲线(可能是椭圆、双曲线、抛物线等)。 【实验内容】 1、 自动随机生成两类服从二维正态分布的样本点 2、 计算两类样本的均值和协方差矩阵 3、 按照两类协方差不相同情况下的判别函数,求出判别方程曲线。 4、 通过修改不同的参数(均值、方差、协方差矩阵),观察判别方程曲线的变化。 【实验程序】 clear all; close all;

samplenum = 50;%样本的个数 n1(:,1) = normrnd(8,4,samplenum,1);%产生高斯分布的二维随机样本,第一个参数为均值,第二个为方差 n1(:,2) = normrnd(6,4,samplenum,1);%产生高斯分布的二维随机样本,第一个参数为均值,第二个为方差 n2(:,1) = normrnd(14,4,samplenum,1);%产生高斯分布的二维随机样本,第一个参数为均值,第二个为方差 n2(:,2) = normrnd(16,4,samplenum,1);%产生高斯分布的二维随机样本,第一个参数为均值,第二个为方差 scatter(n1(1:samplenum,1),n1(1:samplenum,2),'ro');%画出样本 hold on scatter(n2(1:samplenum,1),n2(1:samplenum,2),'g*');%画出样本 u1 = mean(n1);%计算第一类样本的均值 e1=0; for i=1:20 e1 = e1+(n1(i,:)-u1)'*(n1(i,:)-u1);%计算协方差矩阵 end; u2 = mean(n2);%计算第二类样本的均值 e2=0; for i=1:20 e2 = e2+(n2(i,:)-u2)'*(n2(i,:)-u2);%计算协方差矩阵 end; e2=e2/20;%计算协方差矩阵 e1=e1/20;%计算协方差矩阵 %-------------通过改变条件来完成不同的曲线--------- % e2 = e1; %-------------------------------------------------- u1 = u1'; u2 = u2'; scatter(u1(1,1),u1(2,1),'b+');%画出样本中心 scatter(u2(1,1),u2(2,1),'b+');%画出样本中心 line([u1(1,1),u2(1,1)],[u1(2,1),u2(2,1)]); %画出样本中心连线 %求解分类方程 W1=-1/2*inv(e1); w1=inv(e1)*u1; w10=-1/2*u1'*inv(e1)*u1-1/2*log(det(inv(e1)))+log(0.5);%假设w1的先验概率为0.5 W2=-1/2*inv(e2); w2=inv(e2)*u2; w20=-1/2*u2'*inv(e2)*u2-1/2*log(det(inv(e2)))+log(0.5);% 假设w2的先验概率为0.5 syms x y; fn = [x,y]*(W1-W2)*[x,y]'+(w1-w2)'*[x,y]'+w10-w20; ezplot(fn,[0,30]);

五种贝叶斯网分类器的分析与比较

五种贝叶斯网分类器的分析与比较 摘要:对五种典型的贝叶斯网分类器进行了分析与比较。在总结各种分类器的基础上,对它们进行了实验比较,讨论了各自的特点,提出了一种针对不同应用对象挑选贝叶斯网分类器的方法。 关键词:贝叶斯网;分类器;数据挖掘;机器学习 故障诊断、模式识别、预测、文本分类、文本过滤等许多工作均可看作是分类问题,即对一给定的对象(这一对象往往可由一组特征描述),识别其所属的类别。完成这种分类工作的系统,称之为分类器。如何从已分类的样本数据中学习构造出一个合适的分类器是机器学习、数据挖掘研究中的一个重要课题,研究得较多的分类器有基于决策树和基于人工神经元网络等方法。贝叶斯网(Bayesiannetworks,BNs)在AI应用中一直作为一种不确定知识表达和推理的工具,从九十年代开始也作为一种分类器得到研究。 本文先简单介绍了贝叶斯网的基本概念,然后对五种典型的贝叶斯网分类器进行了总结分析,并进行了实验比较,讨论了它们的特点,并提出了一种针对不同应用对象挑选贝叶斯分类器的方法。 1贝叶斯网和贝叶斯网分类器 贝叶斯网是一种表达了概率分布的有向无环图,在该图中的每一节点表示一随机变量,图中两节点间若存在着一条弧,则表示这两节点相对应的随机变量是概率相依的,两节点间若没有弧,则说明这两个随机变量是相对独立的。按照贝叶斯网的这种结构,显然网中的任一节点x均和非x的父节点的后裔节点的各节点相对独立。网中任一节点X均有一相应的条件概率表(ConditionalProbabilityTable,CPT),用以表示节点x在其父节点取各可能值时的条件概率。若节点x无父节点,则x的CPT为其先验概率分布。贝叶斯网的结构及各节点的CPT定义了网中各变量的概率分布。 贝叶斯网分类器即是用于分类工作的贝叶斯网。该网中应包含一表示分类的节点C,变量C的取值来自于类别集合{C,C,....,C}。另外还有一组节点x=(x,x,....,x)反映用于分类的特征,一个贝叶斯网分类器的结构可如图1所示。 对于这样的一贝叶斯网分类器,若某一待分类的样本D,其分类特征值为x=(x,x,....,x),则样本D属于类别C的概率为P(C=C|X=x),因而样本D属于类别C的条件是满足(1)式: P(C=C|X=x)=Max{P(C=C|X=x),P(C=C|X=x),...,P(C=C|X=x)}(1) 而由贝叶斯公式 P(C=C|X=x)=(2) 其中P(C=Ck)可由领域专家的经验得到,而P(X=x|C=Ck)和P(X=x)的计算则较困难。应用贝叶斯网分类器分成两阶段。一是贝叶斯网分类器的学习(训练),即从样本数据中构造分类器,包括结构(特征间的依赖关系)学习和CPT表的学习。二是贝叶斯网分类器的推理,即计算类结点的条件概率,对待分类数据进行分类。这两者的时间复杂性均取决于特征间的依赖程度,甚至可以是NP完全问题。因而在实际应用中,往往需

FIR数字滤波器设计实验_完整版

班级: 姓名: 学号: FIR 数字滤波器设计实验报告 一、实验目的 1.掌握FIR 数字滤波器的设计方法; 2.熟悉MATLAB 信号处理工具箱的使用; 3.熟悉利用MATLAB 软件进行FIR 数字滤波器设计,以及对所设计的滤波器 进行分析; 4.了解FIR 滤波器可实现严格线性相位的条件和特点; 5.熟悉FIR 数字滤波器窗函数设计法的MATLAB 设计,并了解利用窗函数法 设计FIR 滤波器的优缺点; 6.熟悉FIR 数字滤波器频率采样设计法的MATLAB 设计,并了解利用频率采 样法设计FIR 滤波器的优缺点; 7.熟悉FIR 数字滤波器切比雪夫逼近设计法的MATLAB 设计,并了解利用切 比雪夫逼近法设计FIR 滤波器的优缺点。 二、实验设备及环境 1.硬件:PC 机一台; 2.软件:MATLAB (6.0版以上)软件环境。 三、实验内容及要求 1.实验内容:基于窗函数设计法、频率采样设计法和切比雪夫逼近设计法,利用MATLAB 软件设计满足各自设计要求的FIR 数字低通滤波器,并对采用不同设计法设计的低滤波器进行比较。 2.实验要求: (1)要求利用窗函数设计法和频率采样法分别设计FIR 数字低通滤波 器,滤波器参数要求均为:0.3c w π=。其中,窗函数设计法要求分别利用矩形窗、汉宁窗和布莱克曼窗来设计数字低通滤波器,且 21N ≥,同时要求给出滤波器的幅频特性和对数幅频特性; 频率

采样法要求分别利用采样点数21N =和63N =设计数字低通滤波器,同时要求给出滤波器采样前后的幅频特性,以及脉冲响应及对数幅频特性。 (2)要求利用窗函数设计法和切比雪夫逼近法分别设计FIR 数字低通 滤波器,滤波器参数要求均为: 0.2π, 0.25dB, 0.3π, 50dB p p s s ωαωα==== 其中,窗函数设计法要求利用汉明窗来设计数字低通滤波器,且 66N ≥,同时要求给出滤波器理想脉冲响应和实际脉冲响应,汉 名窗和对数幅频特性; 切比雪夫逼近法要求采用切比雪夫Ⅰ型,同时要求给出滤波器的脉冲响应、幅频特性和误差特性。 (3)将要求(1)和(2)中设计的具有相同参数要求,但采用不同设 计方法的滤波器进行比较,并以图的形式直观显示不同设计设计方法得到的数字低通滤波器的幅频特性的区别。 四、实验步骤 1.熟悉MATLAB 运行环境,命令窗口、工作变量窗口、命令历史记录窗口,FIR 常用基本函数; 2.熟悉MATLAB 文件格式,m 文件建立、编辑、调试; 3.根据要求(1)的内容,设计FIR 数字低通滤波器,建立M 文件,编写、调试、运行程序; 4.根据要求(2)的内容,设计FIR 数字低通滤波器,建立M 文件,编写、调试、运行程序; 5.将要求(1)和(2)中设计的具有相同参数要求,但采用不同设计方法的滤波器进行比较分析; 6.记录实验结果; 7.分析实验结果; 8.书写实验报告。 五、实验预习思考题 1.FIR 滤波器有几种常用设计方法?这些方法各有什么特点?

实验一: 词法分析器

实验一:词法分析器 实验要求: 输入一段源程序或者是字符序列,判断它属于关键字或者是标志符等类型,通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。 掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 实验说明: 本实验里面设计了两个程序,第一个非常简单,只有最简单的判断功能,即输入一个字符,判断它是属于关键字,或者标志符,或者数字,或者特殊字符,然后输出到屏幕它的类型,实现方法和编写的代码都很简单. 第二个程序是一个比较完整的词法即分析器,此处分析的是一段PASCL语言的代码,通过词法分析器的分析作用,在进行词法分析中,先自文件头开始以行为单位扫描程序,将该行的字符读入预先设定的一个数组缓冲区中,然后对该数组的字符逐词分割,进行词法分析,将每个词分割成关键字、标识符、常量和运算符四种词种,最终产生四个相对应的表,关键字表、标识符表、常量表和运算符表。此程序代码的编写和思路部分参考网上的程序。 实验过程: 本实验中用到c中自带的几个判断字母和数字的函数,他们包含在ctype.h 主要用到其中的几个函数如下: o isalnum - 是否為英文字母或數字字元(A~Z, a~z, 0~9) o isalpha - 是否為英文字母(A~Z, a~z) o isdigit - 是否為數字字元(0~9) 当其为真时,则返回非零值,由此可以由其返回的布尔值判断字符,为字符的类型判断提供了很大的方便。 主要的几个函数是: bool Is_keyword(char str1[]) 判断是否为关键字 bool Is_signword(char str1[]) 判断是否为标志符 bool Is_digit(char str1[]) 判断是否为数字 bool Is_special(char str1[] ) 判断是否为特殊符号 Main()主函数部分用最简单的if else 结构,形成多个If …. Else if 的嵌套,顺次判断字符是否为某个函数中的真值,是则输出对应的显示,否则继续向下运行,如果最后还得不到匹配的话就输出提示错误的信息,整个实现的方法和思路都很简单。

贝叶斯分类实验报告doc

贝叶斯分类实验报告 篇一:贝叶斯分类实验报告 实验报告 实验课程名称数据挖掘 实验项目名称贝叶斯分类 年级 XX级 专业信息与计算科学 学生姓名 学号 1207010220 理学院 实验时间: XX 年 12 月 2 日 学生实验室守则 一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课。 二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。 三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。四、实验必须服从教师的安排和指导,认真按规程操作,未经教师允许不得擅自动用仪器设备,特别是与本实验无关的仪器设备和设施,如擅自动用

或违反操作规程造成损坏,应按规定赔偿,严重者给予纪律处分。 五、实验中要节约水、电、气及其它消耗材料。 六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。 七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理。仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。 八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。 九、无故不参加实验者,应写出检查,提出申请并缴纳相应的实验费及材料消耗费,经批准后,方可补做。 十、自选实验,应事先预约,拟订出实验方案,经实验室主任同意后,在指导教师或实验技术人员的指导下进行。 十一、实验室内一切物品未经允许严禁带出室外,确需带出,必须经过批准并办理手续。 学生所在学院:理学院专业:信息与计算科学班级:信计121

数字滤波器的设计实验

实验二IIR数字滤波器的设计 实验内容及步骤: 数字滤波器的性能指标:通带临界频率fp、阻带临界频率fr;通带内的最大衰减Ap;阻带内的最小衰减Ar;采样周期T; (1)、fp=0.3KHz,Ap=0.8dB, fr=0.2KHz,Ar=20dB,T=1ms;设计一Chebyshev高通滤波器;观察其通带损耗和阻带衰减是否满足要求。 程序如下: fp=300; fr=200; Ap=0.8; Ar=20; T=0.001;fs=1/T; wp=2*pi*fp*T; wr=2*pi*fr*T; Wp=2/T*tan(wp/2); Wr=2/T*tan(wr/2); [N,Wn]=cheb1ord(Wp,Wr,Ap,Ar,'s'); [B,A] = cheby1(N,Ap,Wn,'high','s'); [num,den]=bilinear(B,A,1/T); [h,w]=freqz(num,den); plot(w*fs/(2*pi),20*log10(abs(h))); %衰减及频率都用归一化的1为单位显示axis([0,500,-30,0]); title('Chebyshev高通滤波器'); xlabel('频率'); ylabel('衰减'); grid on; 根据下图知道通带损耗与阻带衰减满足要求

(2)、fp=0.2KHz,Ap=1dB, fr=0.3KHz,Ar=25dB,T=1ms;分别用脉冲响应不变法及双线性变换法设计一Butterworth数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。 程序如下: fp=200; fr=300; Ap=1;Ar=25; T=0.001;fs=1/T; wp=2*pi*fp*T; wr=2*pi*fr*T; Wp=2/T*tan(wp/2); Wr=2/T*tan(wr/2); [N,Wn]=buttord(Wp,Wr,Ap,Ar,'s'); [B,A] = butter(N,Wn,'s'); [num1,den1]=impinvar(B,A,1/T); %脉冲响应不变法得出设计的传递函数 [num2,den2]=bilinear(B,A,1/T); %双线性变换法得出设计的传递函数[h1,w]=freqz(num1,den1); plot(w*fs/(2*pi),20*log10(abs(h2)),w*fs/(2*pi),20*log10(abs(h1)), 'r.');grid on; %衰减及频率都用归一化的1为单位显示 axis([0,500,-30,0]); title('Butterworth低通滤波器(红线—脉冲响应不变法蓝线—双线性变换法)'); xlabel('?μ?ê');

实验一、词法分析器(含源代码)

词法分析器实验报告 一、实验目的及要求 本次实验通过用C语言设计、编制、调试一个词法分析子程序,识别单词,实现一个C语言词法分析器,经过此过程可以加深对编译器解析单词流的过程的了解。 运行环境: 硬件:windows xp 软件:visual c++6.0 二、实验步骤 1.查询资料,了解词法分析器的工作过程与原理。 2.分析题目,整理出基本设计思路。 3.实践编码,将设计思想转换用c语言编码实现,编译运行。 4.测试功能,多次设置包含不同字符,关键字的待解析文件,仔细察看运行结果,检测该分析器的分析结果是否正确。通过最终的测试发现问题,逐渐完善代码中设置的分析对象与关键字表,拓宽分析范围提高分析能力。 三、实验内容 本实验中将c语言单词符号分成了四类:关键字key(特别的将main说明为主函数)、普通标示符、常数和界符。将关键字初始化在一个字符型指针数组*key[]中,将界符分别由程序中的case列出。在词法分析过程中,关键字表和case列出的界符的内容是固定不变的(由程序中的初始化确定),因此,从源文件字符串中识别出现的关键字,界符只能从其中选取。标识符、常数是在分析过程中不断形成的。 对于一个具体源程序而言,在扫描字符串时识别出一个单词,若这个单词的类型是关键字、普通标示符、常数或界符中之一,那么就将此单词以文字说明的形式输出.每次调用词法分析程序,它均能自动继续扫描下去,形成下一个单词,直到整个源程序全部扫描完毕,从而形成相应的单词串。 输出形式例如:void $关键字

流程图 、程序 流程图: 开始 输入源文件路径 路径是否有 效 是初始化文件指针 否 将字符加入字符数 组Word[] 是空格,空白或换 行吗 是字母吗是数字吗否否是界符吗否打开源文件 跳过该字符 是是 文件结束? 否 将字符加入字符数 组Word[] 否 将字符加入字符数组Word[] 是 指向下一字符识别指针内容 指向下一字符 是字母惑数字 吗 是 将word 与关键字表key 进行匹 配 否匹配?是输出word 为关键字 输出word 为普通标示符 否将字符加入字符数组Word[] 指向下一字符输出word 为常数 识别指针内容 回退 是数字吗 是 否输出word 为界符 指向下一字符 结束 是输出Word 内容为不可识别 将字符加入字符数组Word[]

相关主题
文本预览
相关文档 最新文档