MATLAB实验教程
(完整版)MATLAB)课后实验[1]
![(完整版)MATLAB)课后实验[1]](https://img.taocdn.com/s3/m/88685371e53a580217fcfe63.png)
实验一 MATLAB 运算基础1. 先求以下表达式的值,尔后显示 MATLAB 工作空间的使用情况并保存全部变量。
(1)2sin 85 z1 21 e(2) 12z ln( x 1 x ) ,其中22 x2 1 2i5(3)ae e az sin( a 0.3) ln , a 3.0, 2.9, L , 2.9, 32 22t 0 t 1(4) 2z t 1 1 t 242t 2t 1 2 t 3,其中解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成以下操作:(1) 求[100,999] 之间能被 21 整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量比方:ch='ABC123d4e56Fg9'; 那么要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch =123d4e56g9实验二 MATLAB矩阵解析与办理1. 设有分块矩阵 A E R3 3 3 2O S2 3 2 2,其中 E、R、O、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试经过数值计算考据 2A E R RS2O S。
实验一 matlab的基本操作

实验一:MATLAB 的基本操作 实验名称: MA TLAB 操作实验日期: 2020 年 4 月 18 日姓名: 班级学号:成绩:一、实验目的1、熟悉MATLAB 的界面和基本操作;2、掌握MATLAB 的基本运算方法;3、掌握MATLAB 中帮助命令的使用方法。
二、实验内容及步骤1、进入Matlab 工作环境,熟悉各窗口的功能。
(1)双击桌面图标,或从“开始”菜单打开MATLAB.exe ,启动MATLAB 。
(2)查看MA TLAB 界面各窗口的布局、了解其功能,并完成各窗口之间的切换。
(3)设置当前工作目录。
在D 盘创建mymatlab 目录,并将其作为当前工作目录。
今后的实验过程中以此目录作为当前工作目录。
2、计算225.389.1753cos 54.5e -÷⎪⎭⎫ ⎝⎛+π的值。
(1)在命令窗口(Command Window )中输入程序:5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)(2)按回车键运行,如果出现“Error ”(出错信息),则应找出原因并改正,再运行。
(3)运行结果: 22.9291 3、输入矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=913652824A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333222111B ,在命令窗口中执行下列表达式,掌握其含义:A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A(1)在命令窗口键入 A=[4,2,8;2,5,6;3,1,9] ,生成矩阵A ;键入B=[1,1,1;2,2,2;3,3,3] ,生成矩阵B ;(2)记录执行以下表达式的结果:A(2, 3)= 6 A(6)= 1 A(:,2)= [2;5; 1] A(3,:) = [3 1 9] A(:,1:2:3)= [4 8;2 6;3 9] A(:,3).*B(:,2)= [8;12;27]A(:,3)*B(2,:)= [16 16 16;12 12 12;18 18 18]A*B= [32 32 32;30 30 30;32 32 32] A.*B= [4 2 8;4 10 12;9 3 27] A^2= [44 26 116;36 35 100;41 20 111]A.^2= [16 4 64;4 25 36;9 1 81]B/A= [0.5000 0.0769 -0.3846;1.0000 0.1538 -0.7692;1.5000 0.2308 -1.1538]B./A= [0.2500 0.5000 0.1250;1.000 0.4000 0.3333;1.0000 3.0000 0.3333]B.\A= [4.0000 2.0000 8.0000;1.0000 2.5000 3.0000;1.0000 0.3333 3.0000]4、产生一个5阶魔方矩阵,将矩阵的第3行4列元素赋值给变量a ;将由矩阵第2,3,4行第2,5列构成的子矩阵赋值给变量b 。
实验一 Matlab使用方法和程序设计

实验一Matlab使用方法和程序设计一、实验目的1、掌握Matlab软件使用的基本方法;2、熟悉Matlab的数据表示、基本运算和程序控制语句3、熟悉Matlab绘图命令及基本绘图控制4、熟悉Matlab程序设计的基本方法二、实验内容:1、帮助命令使用help命令,查找 sqrt(开方)函数的使用方法;答:点击菜单栏help,选择product help选项,在search for栏输入‘sqrt’,点击go,可得到sqrt(开方)函数的使用方法.2、矩阵运算(1)矩阵的乘法已知A=[1 2;3 4]; B=[5 5;7 8];求A^2*B>> A=[1 2;3 4]; B=[5 5;7 8];C=A^2*BC =105 115229 251(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B>> A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];C=A\B,D=A/BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.C =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511D =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];求A.', A'>> A=[5+i,2-i,1;6*i,4,9-i];>> B=A.', C=A'B =5.0000 + 1.0000i 0 +6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iC =5.0000 - 1.0000i 0 -6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号表达式选出指定元素 P22已知: A=[1 2 3;4 5 6;7 8 9];求A中第3列前2个元素;A中所有列第2,3行的元素;>> A=[1 2 3;4 5 6;7 8 9];B1=A([1,2],[3])B2=A([2,3],:)B1 =36B2 =4 5 67 8 9方括号[]用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列>> A=magic(4)B=A(:,[1,2,3])A =16 2 3 135 11 10 89 7 6 124 14 15 1B =16 2 35 11 109 7 64 14 153、多项式(1)求多项式4=xxp的根x-(3-2)>> Y=[1 0 -2 -4];S=roots(Y)S =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征多项式;把矩阵A作为未知数代入到多项式中;>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]P=poly(A)polyval(P,A)A =1.2000 3.0000 5.0000 0.90005.0000 1.7000 5.00006.00003.0000 9.0000 0 1.00001.00002.00003.00004.0000P =1.0000 -6.9000 -77.2600 -86.1300 604.5500 ans =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0841 -0.4545 -1.16174、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π] >> t=[0:0.05:2*pi];>> y=cos(t)plot(t,y)(2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t ∈[0,2π]>> t=[0:0.05:2*pi];y1=cos(t-0.25);y2=sin(t-0.5);plot(t,y1)hold onplot(t,y2)5、基本绘图控制 P40绘制[0,4π]区间上的x1=10sint曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;>> syms x1;>> x1=10*sin(t);>> t=[0:0.1:4*pi];>> plot(t,x1,'r-.+'); %画图,显示红色、点划线、标记加号;axis([0,15,-10,10]); %定义显示范围,横轴为[0,15],纵轴为[-10,10];title('曲线x1=10sint'); %显示标题;xlabel('T轴');ylabel('X1轴'); %显示坐标轴名称;set(gca,'xminortick','on');set(gca,'yminortick','on'); %显示刻度线;grid on %显示网络线6、基本程序设计(1)编写命令文件:计算1+2+…+n<2000 时的最大n值;(P32例题)(1)>> sum=0;for m=1:2000;if (sum>2000),break;endsum=sum+m;endsum=sum-m,m=m-1sum =1952m =63(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。
高等数学:MATLAB实验

MATLAB实验
2.fplot绘图命令 fplot绘图命令专门用于绘制一元函数曲线,格式为:
fplot('fun',[a,b]) 用于绘制区间[a,b]上的函数y=fun的图像.
MATLAB实验 【实验内容】
MATLAB实验
由此可知,函数在点x=3处的二阶导数为6,所以f(3)=3为 极小值;函数在点x= 1处的二阶导数为-6,所以f(1)=7为极大值.
MATLAB实验
例12-10 假设某种商品的需求量q 是单价p(单位:元)的函 数q=12000-80p,商 品的总成本C 是需求量q 的函数 C=25000+50q.每单位商品需要纳税2元,试求使销售 利润达 到最大的商品单价和最大利润额.
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验 实验九 用 MATLAB求解二重积分
【实验目的】 熟悉LAB中的int命令,会用int命令求解简单的二重积分.
MATLAB实验
【实验M步A骤T】 由于二重积分可以化成二次积分来进行计算,因此只要
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
实验七 应用 MATLAB绘制三维曲线图
【实验目的】 (1)熟悉 MATLAB软件的绘图功能; (2)熟悉常见空间曲线的作图方法.
【实验要求】 (1)掌握 MATLAB中绘图命令plot3和 mesh的使用; (2)会用plot3和 mesh函数绘制出某区间的三维曲线,线型
matlab 实验教程 实验一

MATLAB语言及其应用实验教程实验一实验目的:1.熟悉MATLAB的界面,菜单,会使用DEMO,学会使用帮助(help)。
2.学习MATLAB的基本语法实验内容:1.打开MATLAB,点击各个菜单以了解各个子菜单项。
2.更改当前路径,在指定路径下保存所作的实验。
实验具体步骤:如图所示,在D盘根目录下建立“MATLAB实验”文件夹,并在此文件夹下以各自的学号建立子文件夹。
如图所示,点击工具栏上“Current Directory”栏的浏览按钮。
选择刚刚建立的以各自学号命名的文件夹,“Current Directory”栏显示如下路径格式。
注意!以后所有的实验均保存在此目录中。
3.学习打开和关闭命令窗口(command window),工作空间(workspace)和命令历史窗口(command history)。
实验具体步骤:单击命令窗口右上角的“X”标志,关闭命令窗口;在Desktop菜单下选择“Command window”,打开命令窗口;单击工作空间窗口右上角的“X”标志,关闭工作空间;在Desktop菜单下选择“Workspace”,打开工作空间;单击命令历史窗口右上角的“X”标志,关闭命令历史窗口;在Desktop菜单下选择“Command history”,打开命令历史窗口。
4.练习变量的赋值,包括向量赋值,矩阵赋值以及复数的赋值。
实验具体步骤:变量赋值>> a=100a =100>> b=0.1b =0.1000向量赋值>> a=1:1:10a =1 2 3 4 5 6 7 8 9 10>> b=1:2:10b =1 3 5 7 9矩阵赋值>> a=[1 2 3;4 5 6;7 8 9]a =1 2 34 5 67 8 9复数赋值>> c=3+5.2ic =3.0000 + 5.2000i>> z=[1+2i,3+4i;5+6i,7+8i]z =1.0000 +2.0000i3.0000 +4.0000i5.0000 +6.0000i7.0000 +8.0000i5.用变量检查命令who和whos检查工作空间中的变量。
实验一MATLAB软件入门

实验一:MATLAB 软件入门一、 实验目的及意义[1] 熟悉MATLAB 软件的用户环境;[2] 了解MATLAB 软件的一般目的命令;[3] 掌握MATLAB 数组操作与运算函数;[4] 掌握MATLAB 软件的基本绘图命令;[5] 掌握MATLAB 语言的几种循环、条件和开关选择结构。
通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
二、实验内容1.MATLAB 软件的数组操作及运算练习;2.直接使用MATLAB 软件进行作图练习;3.用MATLAB 语言编写命令M-文件和函数M-文件。
三、实验步骤1. 在E 盘建立一个自己的文件夹;2.开启软件平台——MATLAB ,将你建立的文件夹加入到MATLAB 的搜索路径中。
3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法。
4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件);5.保存文件(注意将文件存入你自己的文件夹)并运行;6.若出现错误,修改、运行直到输出正确结果;7.写出实验报告,并浅谈学习心得体会。
四、实验任务基础实验1.设有分块矩阵⎥⎦⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E,R,O,S 分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S 0RS R E A 。
2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如表1.1,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该10种商品的总收入和总利润。
表1.1单件进价 7.15 8.25 3.20 10.30 6.68 12.03 16.85 17.51 9.30 单件售价11.10 15.00 6.00 16.25 9.90 18.25 20.80 24.15 15.50 销量 568 1205 753 580 395 2104 1538 810 6943.在同一个坐标下作出y 1=e x ,y 2=1+x,y 3=1+x+(1/2)x 2,y 4= 1+x+(1/2)x 2+(1/6)x 3这四条曲线的图形,要求在图上加各种标注,观察、发现、联想、猜想,给出验证及理论证明。
实验一 MATLAB基本操作及运算(含实验报告)

实验一 MATLAB基本操作及运算(含实验报告)实验一matlab基本操作及运算(含实验报告)实验一matlab基本操作及运算一、实验目的1、理解matlab数据对象的特点;2、掌握基本matlab运算规则;3、掌握matlab帮助的使用方法;二、实验的设备及条件计算机一台(带有matlab7.0以上的软件环境)。
三、实验内容要求建立一个名为experiment01.m的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。
注意对实验中出现的相关函数或变量,请使用help 或doc查询相关帮助文档,学习函数的用法。
1、创建以下标量:1)a=102)b=2.5×10233)c=2+3i,(i为虚数单位)4)d=ej2?/3,(j为虚数单位,这里要用到exp,pi)2、建立以下向量:1)avec=[3.1415926]2.7182)bvec=??28182??3)cvec=[54.8…-4.8-5](向量中的数值从5到-5,步长为-0.2)4)dvec=[100100.01…100.99101](产生1至10之间的等对数间隔向量,参照logspace,特别注意向量的长度)3、建立以下矩阵:221)amat2?2??amat一个9×9的矩阵,其元素全系列为2;(参照ones或zeros)10??10??0?02)bmat050??0?0?01??0?bmat是一个9×9的矩阵,除主对角上的元素为[123454321]外,其余元素均为0。
(参考diag)。
111?129192?2?3)cmat?1020?100cmat为一个10×10的矩阵,可有1:100的向量来产生(参考reshape)nan4)dmatnan??nannannannannannannannan?nan??nan??dmat为3×4的nan矩阵,(参照nan)13155)emat2210?87?6)产生一个5×3随机整数矩阵fmat,其值的范围在-3到3之间。
MATLAB实验指导书(共5篇)

MATLAB实验指导书(共5篇)第一篇:MATLAB实验指导书MATLAB 实验指导书皖西学院信息工程学院实验一 MATLAB编程环境及简单命令的执行一、实验目的1.熟悉MATLAB编程环境二、实验环境1.计算机2.MATLAB7.0集成环境三、实验说明1.首先应熟悉MATLAB7.0运行环境,正确操作2.实验学时:2学时四、实验内容和步骤1.实验内容(1)命令窗口的使用。
(2)工作空间窗口的使用。
(3)工作目录、搜索路径的设置。
(4)命令历史记录窗口的使用。
(5)帮助系统的使用。
(6)了解各菜单的功能。
2.实验步骤(1)启动MATLAB,熟悉MATLAB的桌面。
(2)进入MATLAB7.0集成环境。
(3)在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。
1)(365-52⨯2-70)÷3 2)>>area=pi*2.5^2 3)已知x=3,y=4,在MATLAB中求z:x2y3 z=2(x-y)4)将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字节数。
⎡162313⎤⎢511108⎥⎥m1=⎢⎢97612⎥⎢⎥414151⎣⎦执行以下命令>>m1(2 , 3)>>m1(11)>>m1(: , 3)>>m1(2 : 3 , 1 : 3)>>m1(1 ,4)+ m1(2 ,3)+ m1(3 ,2)+ m1(4 ,1)5)执行命令>>helpabs 查看函数abs的用法及用途,计算abs(3 + 4i)6)执行命令>>x=0:0.1:6*pi;>>y=5*sin(x);>>plot(x,y)7)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。
五、思考题1、以下变量名是否合法?为什么?(1)x2(2)3col(3)_row (4)for2、求以下变量的值,并在MATLAB中验证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一1.实现单位采样序列,单位阶跃序列,矩形序列,并用图形显示。
写出程序及输出图形。
代码:(1)单位采样序列x=-10:10;y=[zeros(1,10),1,zeros(1,10)];figure(3);stem(x,y);axis([ -10, 10,0,2]);(2)单位阶跃序列x=-10:10;y=[zeros(1,10),1,ones(1,10)];figure(4);stem(x,y);axis([ -10, 10,0,2]);(3)矩形序列x=-10:10;y=[zeros(1,10),1,ones(1,5),zeros(1,5)];figure(4);stem(x,y);axis([ -10, 10,0,2]);图:Figure 8.5.1. 1 单位采样序列Figure 8.5.1. 2 单位阶跃序列Figure 8.5.1. 3 矩形序列实验心得:实验二1.模拟信号x(t)=2sin(4*pi*t)+5cos(8*pi*t),以t=0.01n(n=0:N-1)进行采样,求:(1)N=40点FFT的幅度频谱,从图中能否观察出信号的2个频谱分量?(2)提高采样点数,如N=128,再求该信号的频谱幅度,此时幅度频谱发生了什么变化?代码:N=40;n=0:N-1;t=0.01*n;x=2*sin(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1));subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);plot(w/pi,magX);title('FFT N=40');xlabel('f (unit :pi)');ylabel('|X|');gridN=128;n=0:N-1;t=0.01*n;x=2*sin(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1));subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);plot(w/pi,magX);title('FFT N=128');xlabel('f (unit :pi)');ylabel('|X|');grid图:510152025303540signal x(n)50100FFT N=40Figure 8.2.1. 1 N=40 的FFT 频谱图20406080100120140signal x(n)0.10.20.30.40.50.60.70.80.91010*******400FFT N=128f (unit :pi)|X |Figure 8.2.1. 2 N=128 的FFT 频谱图实验心得: 实验六双线性变换法 代码%Filter clc;%clear;%digital filter specifications; lfp=100; lfs=300;ws=2*pi*lfs;wp=2*pi*lfp;Rp=1;Rs=25;fs=1000;[n,Wn]=buttord(wp,ws,Rp,Rs,'s');[z,p,k] = buttap(n);[b,a]=zp2tf(z,p,k);x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2 ,0,0,-2,-2,-2,-2,0];Y=filter(b,a,x);N=56;n=0:N-1;subplot(2,1,1);plot(n,x);subplot(2,1,2);plot(n,Y);[bt,at]=lp2lp(b,a,Wn);[bbs,abs]=bilinear(bt,at,fs);[dB,mag,pha,grd,w]=freqz_m(bbs,abs);Ripple=10^(-Rp/20);Attn=10^(-Rs/20);%»-ͼsubplot(2,2,1);plot(w/pi,mag);title('·ùƵÏìÓ¦');xlabel('¹éÒ»»¯ÆµÂÊ');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0,2*lfp/fs,2*lfs/fs,1]);set(gca,'XTickMode','manual','XTick',[Attn,Ripple,1]);grid;subplot(2,2,2);plot(w/pi,pha/pi);title('ÏàÆµÏìÓ¦');xlabel('¹éÒ»»¯ÆµÂÊ');ylabel('µ¥Î»:pi');axis([0,1,-1.1,1.1]);set(gca,'XTickMode','manual','XTick',[0,2*lfp/fs,2*lfs/fs,1]);set(gca,'XTickMode','manual','XTick',[-1,-0.5,0,0.5,1]);grid;subplot(2,2,3);plot(w/pi,dB,'red');title('·ùƵÏìÓ¦:dB');xlabel('¹éÒ»»¯ÆµÂÊ');axis([0,1,-60,5]);set(gca,'XTickMode','manual','XTick',[0,2*lfp/fs,2*lfs/fs,1]);set(gca,'XTickMode','manual','XTick',[-60,-40,-20,5]);grid;subplot(2,2,4); plot(w/pi,grd,'red'); title('ȺʱÑÓ'); xlabel('¹éÒ»»¯ÆµÂÊ') axis([0,1,0,6]);set(gca,'XtickMode','manual','Xtick',[0,2*lfp/fs,2*lfs/fs,1]); set(gca,'YtickMode','manual','Ytick',[0,1,2,4,6]); grid;%²ÉÓÃÊý×ÖÓòƵÂʱ任·¨Éè¼ÆÊý×Ö´ø×èÂ˲¨Æ÷(using bilinear and Chebyshev-I)x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]; Y=filter(b,a,x); N=56;n=0:N-1;figure(2)subplot(2,1,1);plot(n,x);grid on ; subplot(2,1,2);plot(n,Y);grid on ;图双线性变换法设计的滤波器特性0.05620.891310.20.40.60.81幅频响应归一化频率00.51-1-0.500.51相频响应归一化频率单位:p i-60-40-200幅频响应:dB归一化频率0.20.6101246群时延归一化频率原始心电图信号和经过滤波后的心电图信号0102030405060-100-5050102030405060-30-20-1001020实验心得:脉冲响应不变法代码:%Âö³åÏìÓ¦²»±ä·¨% digital filter specifications: lfp=100; lfs=300; ws=2*pi*lfs; wp=2*pi*lfp; Rp=1; Rs=25; fs=1000;%Êý×ÖÖ¸±êµ½Ä£ÄâÖ¸±êµÄ±ä»¯¡ªË«ÏßÐԱ任 %¼ÆËã½×ÊýºÍ½ØÖ¹ÆµÂÊ[n,Wn]=buttord(wp,ws,Rp,Rs,'s'); %Éè¼ÆÄ£ÄâµÍͨÔ-ÐÍ [z,p,k]=buttap(n); [b,a]=zp2tf(z,p,k);x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-69,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];Y=filter(b,a,x);%ÓÉÄ£ÄâµÍͨÔ-Ð;-ƵÂʱ任»ñµÃÄ£ÄâµÍͨ¡¢¸ßͨ¡¢´øÍ¨»ò´ø×èÂ˲¨Æ÷[bt,at]=lp2lp(b,a,Wn);%ÀûÓÃÂö³åÏìÓ¦²»±ä·¨»òË«ÏßÐÔ²»±ä·¨£¬ÊµÏÖÄ£ÄâÂ˲¨Æ÷µ½Êý×ÖÂ˲¨Æ÷µÄÓ³Éä[bbs,abs]=impinvar(bt,at,fs);%Â˲¨Æ÷ƵÂÊÏìÓ¦[dB,mag,pha,grd,w]=freqz_m(bbs,abs);Ripple=10^(-Rp/20);Attn=10^(-Rs/20);%»-ͼsubplot(2,2,1);plot(w/pi,mag) %Êý×ÖÂ˲¨Æ÷·ù¶ÈÏìÓ¦title('·ùƵÏìÓ¦');xlabel('¹éÒ»»¯ÆµÂÊ');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0,2*lfp/fs,2*lfs/fs,1]);set(gca,'YTickMode','manual','YTick',[Attn,Ripple,1]);grid;subplot(2,2,2);plot(w/pi,pha/pi); %Êý×ÖÂ˲¨Æ÷ÏàλÏìÓ¦title('ÏàÆµÏìÓ¦');xlabel('¹éÒ»»¯ÆµÂÊ');ylabel('µ¥Î»£ºpi');axis([0,1,-1.1,1.1]);set(gca,'XTickMode','manual','XTick',[0,2*lfp/fs,2*lfs/fs,1]);set(gca,'YTickMode','manual','YTick',[-1,-0.5,0,0.5,1]);grid;subplot(2,2,3);plot(w/pi,dB,'red');%Êý×ÖÂ˲¨Æ÷·ù¶ÈÏìÓ¦£¨dB£©title('·ùƵÏìÓ¦£ºdB');xlabel('¹éÒ»»¯ÆµÂÊ');axis([0,1,-60,5]);set(gca,'XTickMode','manual','XTick',[0,2*lfp/fs,2*lfs/fs,1]);set(gca,'YTickMode','manual','YTick',[-60,-40,-20,5]);grid;subplot(2,2,4);plot(w/pi,grd,'red');%Êý×ÖÂ˲¨Æ÷ÑÓʱtitle('ȺÑÓʱ');xlabel('¹éÒ»»¯ÆµÂÊ');axis([0,1,0,6]);set(gca,'XTickMode','manual','XTick',[0,2*lfp/fs,2*lfs/fs,1]);set(gca,'YTickMode','manual','YTick',[0,1,2,4,6]);grid;%²ÉÓÃÊý×ÖÓòƵÂʱ任·¨Éè¼ÆÊý×Ö´ø×èÂ˲¨Æ÷£¨using bilinear and Chebyshev-1£©x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,2,-4,8,12,12,10,6,6,6,4,0,0,0,0,-2,-4,0,0,0,-2,-2,0 ,0,-2,-2,-2,-2,0]Y =filter(b,a,x);N=56;n=0:N-1;figure(2)subplot(2,1,1);plot(n,x);grid on; subplot(2,1,2);plot(n,Y);grid on;子函数:function[dB,mag,pha,grd,w]=freqz_m(b,a)%computation of s-domain frequency response:modified version%---------------------------------------------------------%[dB,mag,pha,grd,w]=freqz_m(b,a);% dB=Relative magintude in dB over [0 to 2pi]% mag=Absolute magintude over [0 to 2pi]% pha=Phase response in radians over [0 to 2pi]% w=array of 500 frequency samples between [0 to 2pi]% b=numerator polynomial coefficients of H(z)% a=denominator polynomial coefficients of H(z)[H,w]=freqz(b,a,1000,'whole');%w ranging from 0 to 2pi radians per sample.%uses 1000 sample points around the entire unit circle to calculate the %frequency responseH=(H(1:501))';w=(w(1:501))';mag=abs(H);dB=20*log10((mag+eps)/max(mag));pha=angle(H);grd=grpdelay(b,a,w);图:0.20.610.05620.89131幅频响应归一化频率00.20.61-1-0.500.51相频响应归一化频率单位:p i00.20.61-60-40-205幅频响应:dB归一化频率00.20.611246群延时归一化频率0102030405060-100-5050102030405060-30-20-1001020实验七代码:主程序:% design a digital FIR lowpass filter with Hamming windowwp=0.3*pi;ws=0.5*pi;tr_width=ws-wp;N=ceil(6.6*pi/tr_width)+1; % N=34n=[0:1:N-1];wc=(ws-wp)/2;hd = ideal_lp(wc,N);w_ham=(hamming(N))';h=hd.*w_ham;[dB,mag,pha,grd,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(dB(1:1:wp/delta_w+1)));As=-round(max(dB(ws/delta_w+1:1:501)));%plotssubplot(2,2,1);stem(n,hd);title('ÀíÏëÂö³åÏìÓ¦');axis([0,N-1,-0.09,0.5]);xlabel('n');set(gcr,'YTickMode','manual','YTick',[0,0.1,0.2,0.3]);subplot(2,2,2);stem(n,w_ham);title('hamming´°');axis([0,N-1,0,1.1]);xlabel('n');subplot(2,2,3);stem(n,h);title('ʵ¼ÊÂö³åÏìÓ¦');axis([0,N-1,-0.09,0.5]);xlabel('n');set(gcr,'YTickMode','manual','YTick',[0,0.1,0.2,0.3]);subplot(2,2,4);plot(w/pi,dB);title('·ùƵÏìÓ¦:dB');grid;axis([0,1,-100,0]);xlabel('pi');ylabel('dB');set(gcr,'YTickMode','manual','YTick',[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0 .8,0.9,1.0]);set(gcr,'YTickMode','manual','YTick',[-100,-90,-80,-70,-60,-50,-40,-3 0,-20,-10,0]);子程序:function[dB,mag,pha,grd,w]=freqz_m(b,a)%computation of s-domain frequency response:modified version%---------------------------------------------------------%[dB,mag,pha,grd,w]=freqz_m(b,a);% dB=Relative magintude in dB over [0 to 2pi]% mag=Absolute magintude over [0 to 2pi]% pha=Phase response in radians over [0 to 2pi]% w=array of 500 frequency samples between [0 to 2pi]% b=numerator polynomial coefficients of H(z)% a=denominator polynomial coefficients of H(z)[H,w]=freqz(b,a,1000,'whole');%w ranging from 0 to 2pi radians per sample.%uses 1000 sample points around the entire unit circle to calculate the %frequency responseH=(H(1:501))';w=(w(1:501))';mag=abs(H);dB=20*log10((mag+eps)/max(mag));pha=angle(H);grd=grpdelay(b,a,w);函数ideal_lp;function hd=ideal_lp(wc,N);alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);汉明窗法设计滤波器的102030理想脉冲响应n0102030hamming 窗n102030实际脉冲响应n 00.51-100-50幅频响应:dBpid B。