MATLAB及在电子信息课程中的应用课后答案
Matlab在电子信息类课程教学与实践中的应用共4页

Matlab在电子信息类课程教学与实践中的应用数字信号处理、通信原理以及信号与系统等都是电子信息类课程中的主干课程,该类课程涉及数学、电路等多门先修课程,其主要特点是理论性强、直观性差、数学公式推导多,学生学习难度较大。
长期以来,电子信息类课程的教学一直采用黑板教学的单一模式,缺乏可视化的直观表现,这就严重影响和制约了课程的教学效果。
即使在多媒体教学大量普及以后,教师通常只是把课本内容搬到了屏幕上,没有从根本上解决理论性强、直观性差的问题,学生普遍反映课堂教学难于理解和掌握,教学效果不理想。
为了帮助学生学习好这些专业课程,进而将所学理论灵活地应用于实践,引入计算机仿真是一个行之有效的方法,Matlab正是众多仿真软件中的佼佼者。
一 Matlab简介Matlab是MathWorks公司开发的适用于矩阵数值计算和系统仿真的科学计算软件。
Matlab将高性能的数值计算和可视化集成一体,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。
Matlab除了在科研单位备受青睐,在高校也被广泛使用。
它编程简单,功能强大,在电子、通信与信号处理仿真方面表现不俗。
Matlab具有可视化的图形用户界面,可用来开发相应的辅助教学软件,设计用于教学的交互式实时动态演示系统,有助于教师的授课和学生的理解,从而可以获得较好的教学效果。
Matlab不仅可以作为理论教学的示范性工具,还可以作为实验教学的主要工具。
利用Matlab仿真技术进行实验项目的开发,能够有效地弥补某些传统实验所带来的不便和不足,同时由于其不受场地环境和设备的限制,平时有些不容易实现的综合性系统实验都可以利用Matlab仿真的方法轻而易举地实现。
二 Matlab在数字信号处理中的应用数字信号处理这门课程理论性较强、概念抽象,涉及大量的计算,在学习的过程中,学生普遍反映对于基本的分析方法和基本理论不能很好地理解与掌握,利用Matlab提供的函数进行仿真,可演示信号处理的过程,并且将分析结果直观地体现出来,加深对相关理论的理解。
MATLAB课后习题集附标准答案

第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.9、在MA TLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.(2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息.(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数.注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.第3章 MATLAB 数值运算3.1在MA TLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:>> a=[5 7 3;4 9 1]3.2有几种建立矩阵的方法?各有什么优点? 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;(2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据.3.3在进行算术运算时,数组运算和矩阵运算各有什么要求?答:进行数组运算的两个数组必须有相同的尺寸.进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数.渗釤呛俨匀谔鱉调硯錦。
(完整版)MATLAB)课后实验答案[1]
![(完整版)MATLAB)课后实验答案[1]](https://img.taocdn.com/s3/m/306ff29b690203d8ce2f0066f5335a8102d266cb.png)
(完整版)MATLAB)课后实验答案[1]实验⼀ MATLAB 运算基础1. 先求下列表达式的值,然后显⽰MATLAB ⼯作空间的使⽤情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +??=?- (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--L (4) 2242011122123t t z t t t t t ?≤=-≤,其中t =0:0.5:2.5 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建⽴⼀个字符串向量,删除其中的⼤写字母。
解:(1) 结果:(2). 建⽴⼀个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验⼆ MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对⾓阵,试通过数值计算验证2 2E R RS A O S +??=。
解: M ⽂件如下;5. 下⾯是⼀个线性⽅程组:1231112340.951110.673450.52111456x x x ??=???(1) 求⽅程的解。
(2) 将⽅程右边向量元素b 3改为0.53再求解,并⽐较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M ⽂件如下:123d4e56g9实验三选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ?+-<≠-?=-+≤<≠≠??--?且且及其他⽤if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
解:M ⽂件如下:2. 输⼊⼀个百分制成绩,要求输出成绩等级A、B、C、D、E。
MATLAB及其应用课后习题解答

5
“MATLAB 及其应用”课程作业
图 4- 2 画出函数图像
第5章
1. 已知椭圆的长、短轴 a 4, b 2 ,用“小红点线”画如下图所示的椭圆
x a cos t 。 y b sin t
(提示:参量 t ;点的大小;axis equal) 答 : 运 行 :clf; a=4;b=2;t=0:pi/80:2*pi;x=a*cos(t);y=b*sin(t);plot(x,y,’r’,’markersize’,15);axis equal;xlabel(‘x’);ylabel(‘y’);shg;结果如图 5-1 所示:
1
“MATLAB 及其应用”课程作业
a5=sin(sym(pi/4)+exp(sym(0.7+pi/3))); a6=sin(sym(pi/4)+sym(exp(0.7+pi/3))); a7=sin(sym(pi/4+exp(0.7+pi/3))); a8=sym(sin(pi/4+exp(0.7+pi/3))); da2 = vpa(a1-a2,30) da3 = vpa(a1-a3,30) da4 = vpa(a1-a4,30) da5 = vpa(a1-a5,30) da6 = vpa(a1-a6,30) da7 = vpa(a1-a7,30) da8 = vpa(a1-a8,30) 结果如图 2-2 所示: 只有 a2 是精准的,观察可知,这是由 于 sym('Num')和 sym(Num)的区别带来 图 2- 2 vpa 观察误差 的前者以字符串的形式传给符号运算内 核,可以保留完整的精度;而后者经过浮点数运算之后再转换为符号类型,存在精度损 失。 3.在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。 sym('sin(w*t)') , sym('a*exp(-X)' ) , sym('z*exp(j*th)') 答:分别为 w,a,z,具体图 2-3 所示。
matlab及其在电子信息类课程中应用2

第 2 章 MATLAB的基本语法
2.矩阵拆分
利用冒号表达式获得子矩阵: (1) A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的 全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
(2) A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表 示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩 阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利 用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。 end表示某一维的末尾元素下标。
第 2 章 MATLAB的基本语法
(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是 compan(p),其中p是一个多项式的系数向量, 高次幂系数排在前,低次幂排在后。 (6) 帕斯卡矩阵我们知道,二次项(x+y)n展开后 的系数随n的增大组成一个三角形表,称为杨辉 三角形。由杨辉三角形表组成的矩阵称为帕斯 卡(Pascal)矩阵。函数pascal(n)生成一个n阶 帕斯卡矩阵。
colon(J,K) is the same as J:K and colon(J,D,K) is the same as J:D:K.
第 2 章 MATLAB的基本语法
建立向量的时候可以利用冒号表达式,冒 号表达式可以产生一个行向量,一般格式 是: e1:e2:e3,其中e1为初始值,e2为 步长,e3为终止值。还可以用linspace函 数产生行向量,其调用格式为: linspace(a,b,n) ,其中a和b是生成向量 的第一个和最后一个元素,n是元素总数。
常量:表中给出常量
第 2 章 MATLAB的基本语法
MATLAB与在电子信息类课程中的应用复习题答案电子科大第二版

第二章1、x=[2,4];y=x八3+(x-0.98)八2./(x+1.35)八3-5*(x+1./x) 2、y=cos(pi/3)-(9-sqrt(2))A(1/3) 3、a=3;A=4; b=a.A2; B=b.A2-1; c=a+A-2*B;C=a+2*B+c4、x=[1 2 3;4 5 6;7 8 9]Desktop->Workspace, 双击变量x 5、clearx=magic(3) y=randn(3,3) xy=[x,y] yx=[x,y] z=xy(:,1:2) 6、clear x=eye(4,4)y=triu(x)7、clear x=rand(4,5) y=x([1,2],:)z=(y>=0.3).*y8、clear x=randn(5,5) y=inv(x)9、clear x=randn(5,5)z=x A510、clearA=[1,4,8;-3,6,-5;2,-7,-12];B=[5,4,3;6,-2,3;-1,3,-9];C=A*BD=A.*B11、clear x=linspace(0,2*pi,125);y=cos(x).*(0.5+3*sin(x)./(1+x.A2)); plot(x,y)12、z=-45:1:45;x=z.*sin(3*z);y=z.*cos(3*z);plot3(x,y,z);13、x=-2:0.1:2,y=x;[x,y]=meshgrid(x,y);z=x.A2.*exp(-x.A2-y.A2)surf(x,y,z);14、x=-2:0.1:2,y=x;[x,y]=meshgrid(x,y);z=x.A2.*exp(-x.A2-y.A2);surf(x,y,z);z1=0.05*x-0.05*y+0.1;hold on,mesh(x,y,z1);15、(1)n=2;alfa=0;t=0:0.1:10;x=cos(t);y=sin(n*t+alfa); subplot(2,2,1);plot(t,x,t,y);(2)n=2;alfa=0;t=0:0.1:10;x=cos(t);y=sin(n*t+alfa); subplot(2,2,1);plot(t,x,t,y);n=2;alfa=pi/3;t=0:0.1:10;x=cos(t);y=sin(n*t+alfa); subplot(2,2,2);plot(t,x,t,y);n=2;alfa=pi/2;t=0:0.1:10;x=cos(t);y=sin(n*t+alfa);subplot(2,2,3);plot(t,x,t,y);n=2;alfa=pi;t=0:0.1:10;x=cos(t);y=sin(n*t+alfa);subplot(2,2,4);plot(t,x,t,y);球体clearfor i=1:100for j=1:100x(i,j)=i/100*cos(j*2*pi/100);y(i,j)=i/100*sin(j*2*pi/100);z(i,j)=sqrt(1.001-x(i,jF2-y(i,j)八2);endendsurf(x,y,z);hold on;surf(x,y,-z);axisequal棱锥clearfor i=1:100for j=1:100x(i,j)=i/100*cos(j*2*pi/4);y(i,j)=i/100*sin(j*2*pi/4);z(i,j)=sqrt(x(i,j)A2+y(i,j)A2);endendsurf(x,y,-z);求最大值x=[67 87 56 99 43] max=0;for i=1:5 if max>=x(i) max=max; elsemax=x(i) endendmax求最小值x=[67 87 56 99 43] min=inf;for i=1:5if min<=x(i) min=min;else min=x(i) end end min求和x=[67 87 56 99 43]; sum=0; for i=1:5 sum=sum+x(i) end sum第三章1、h0=[446,714,950,1422,1634];t0=[7.04,4.28,3.40,2.54,2.13];t1=interp1(h0,t0,500,'linear') 2、x0=[1,0,-1];y0=[0,1,0]; p=polyfit(x0,y0,3); x=-1:0.1:1; y=polyval(p,x);plot(x,y,-x,-y),axis equal3、clear x0=[1.0,1.1,1.2,1.3,1.4];y0=[0.25,0.2268,0.2066,0.1890,0.1736];p=polyfit(x0,y0,3);p1=polyder(p); y=polyval(p1,[1.0,1.2])4、p=[3 4 7 2 9 12]; r=roots(p)5、r=[-3 -5 -8 -9]; p=poly(r)6、function ypie=fun1(x,y)ypie=x42./y-x.*cos(y);[x,y]=ode45( 'fun1' ,[0,5],1)plot(x,y)7、function y=fun2(x)y=x.A4-3*x A3+5*cos(x)+8;fplot( 'fun2' ,[1,5])hold on;x=0:5;y=0*x;plot(x,y)a=fzero(fun2,2)b=fzero(fun2,3)8、a=[2 4 9;4 2 4;9 4 18];[v,gama]=eig(a)9、function xpie=fun3(t,x)f=exp(-t)xpie=[0 1 0 0;1 0 0 -1;0 0 0 1;0 -1 -10]*x+[0;1;0;0]*f[t,x]=ode45( 'fun3' ,[0,5],[0 0 0 0]'); plot(t,x(:,1),'b' ,t,x(:,3), 'r' )10、function f=fun4(x,y)f=4*(x-y)-x八2-y八2;v=-2:0.2:2;[x,y]=meshgrid(v)z=fun4(x,y);surf(x,y,z)求极小值 (有误) function f=fun5(x,y)x=v(1);y=v(2)f=-(4*(x-y)-x.A2-y.A2);v=-50:2:50;[x,y]=meshgrid(v)z=fun4(x,y);surf(x,y,z)min=fminsearch('fun4',[0,0])11、function f=fun6(x,y)f=sin(y)+exp(x)-x.*y.A2ezplot( 'fun6' )12、function f=fun7(x,y)f=(x-y).A2.*(sin(x+y)).A2s=dblquad( 'fun7' ,pi,2*pi,0,pi)14、a=randn(4,4)[l,u]=lu(a)a=randn(4,4)[u,gama,v]=svd(a)15、b=[3 0.5 4];a=[3 4 5 6]; [r,p,k]=residue(b,a)b=[3 0.5 4];a=[3 4 5 6];[r,p,k]=residue(b,a)t=0:0.1:100;y=0*t;for i=1:3 y=y+r(i)*exp(p(i)*t) end plot(t,y) b=[3 0.5 4];a=[3 4 5 6]; impulse(b,a) b=[3 0.5 4];a=[3 4 5 6]; step(b,a)第四章1、n=1:11;x=cos(pi/6*n); subplot(2,1,1);stem(x); y=abs(fft(x)); subplot(2,1,2);stem(y);clear n=0:11;x=cos(pi/6*n); subplot(2,1,1);stem(x); y=abs(fft(x));subplot(2,1,2);stem(y);2、(有误)n=0:19;x=5*0.6.八n;subplot(3,1,1);stem(n,x);for i=-20:39xl(i+21)=x(mod(i+40,20)+1); end n1=-20:39; subplot(3,1,2);stem(n1,x1);x2=x1(10:29); subplot(3,1,3);stem(n,x2)新方法m=10; e=0:19;c=0.6;k=5;a=k*c.A e;a=a';b=circshift(a,m);L=length(a)-1;n=0:L;subplot(2,1,1);stem(n,a);axis([0,L,min(a),max(a)]);subplot(2,1,2);stem(n,b);axis([0,l,min(a),max(a)])3、x=[0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0 0 0 0 0 0 0 0];h=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]y=conv(x,h);stem(y)4、x=[0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0 0 0 0 0 0 0 0];h=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]y=conv(x,h);subplot(2,1,1);stem(y)xx=fft(x);hh=fft(h);yy=ifft(xx.*hh);subplot(2,1,2);stem(yy)5、b=[2 3];a=[1 0.4 1];[z p k]=tf2zp(b,a) 6、b=[4 15.6 6 2.4 -6.4];a=[3 2.4 6.3 -11.4 6];[z p k]=tf2zp(b,a)7、b=[18];a=[18 3 -4 -1];[r p k]=residue(b,a)8、b=[0.2 0.3 1];a=[1 0.4 1]; freqs(b,a)9、Fs=2000;wc=[100 200]/(Fs/2);N=10;[b,a]=butter(N,wc, 'z' ); %freqz(b,a)dimpulse(b,a,100)10、wp=100;ws=200;rp=2;rs=15;Fs=500;wp=wp/(Fs/2);ws=ws/(Fs/2);[N,wc]=buttord(wp,ws,rp,rs); [b,a]=butter(N,wc, 'z' ) freqz(b,a)b=fir1(48,[0.35 0.65]);a=1; freqz(b,a)12、b=fir1(37,0.3);a=1; freqz(b,a)13、低通:F=[0:1/56:1];A=[ones(1,50),zeros(1,56-49)]; b=fir2(56,F,A);a=1; freqz(b,a)11、带通:F=[0:1/56:1];A=[ones(1,25),zeros(1,25),ones(1,7)];b=fir2(56,F,A);a=1;freqz(b,a)高通F=[0:1/56:1];A=[zeros(1,50),ones(1,56-49)]; b=fir2(56,F,A);a=1; freqz(b,a)%滤波器设计(椭圆滤波器)wp1=300;wp2=700;ws1=301;ws2=699; rp=0.1;rs=50;Fs=2000; wp=[wp1]/(Fs/2);ws=[ws1]/(Fs/2);[N,wc]=ellipord(wp,ws,rp,rs,'z')[b,a]=ellip(N,rp,rs,wc,'high')%滤波器特性分析freqz(b,a)%信号采样及时频变换Fs=2000;t=0:1/Fs:10;yt=sin(2*pi*200*t)+sin(2*pi*500*t)+sin(2*pi*800*t); figure(2);subplot(3,1,1);plot(t,yt)figure(2);subplot(3,1,2);plot(t,yt);axis([0,0.1,-5,5]) yf=abs(fft(yt));f=(1:length(yf))/length(yf)*Fs;figure(2);subplot(3,1,3);plot(f,yf)%信号滤波及时频分析yt1=filter(b,a,yt);figure(3);subplot(3,1,1);plot(t,yt1)figure(3);subplot(3,1,2);plot(t,yt1);axis([0,0.1,-5,5]) yf1=abs(fft(yt1));f=(1:length(yf1))/length(yf1)*Fs; figure(3);subplot(3,1,3);plot(f,yf1)。
MATLAB在电子信息课程中的应用

MATLAB在电子信息课程中的应用【摘要】:介绍了MATLAB的特点、在电子信息课程教学中优越性以及对今后进一步学习和工作的实用性。
提出了学习MATLAB的学期.建议将MATLAB广泛应用于电子信息课程的各门课程教学中。
【关键词】:MATLA.B;带通数字滤波器;双边带幅度调制;仿真1.MATLAB简介MATL B是MATr王x和LABoratory两词的缩写.是1984年由美国Mathworks 公司推出的集数值计算、符号运算和图形处理等多种功能于一体的科学计算工具软件新的版本(MATLAB.7.0版)包括基本部分的28个函数库和专业扩展部分的功能性工具箱和学科性工具箱,如信号处理、神经网络和金融等工具箱,可以满足不同专业用户的需求。
与其它工具软件相比,其特点是简洁和智能化.适应科技专业人员的思维方式和书写习惯.使得编程和调试效率大大提高特别是可适应多种平台.并且随计算机硬、软件的更新而及时升级。
因此.MATL~B在国外的大学工学院校中.特别是数值计算用得最频繁的电子信息类学科中.已成为每个学生都应掌握的工具了。
它大大提高了课程教学、解题作业和分析研究的效率。
而且国内一些理工院校也已经或者正在把MA1’IAB作为学生必须掌握的一种软件目前已成为世界各国在科学分析和计算领域的主流软件.并被IEEE评述为国际公认的最优秀的科技应用软件。
2.MATLAB在数字信号处理中的应用数字信号处理是一门理论和技术发展十分迅速、应用非常广泛的前沿性学科.它的理论性和实践性都很强。
学生在学习这门课程时.普遍感到数字信号处理的概念抽象.对其中的分析方法与基本理论不能很好地理解与掌握数字信号处理的基础是离散信号及离散系统.在分析过程中应用MATLAB软件可带来直观的分析结果.比如用MATLAB完成有限长序列卷积只需直接调用卷积函数conv fx’h)。
下面介绍设计椭圆带通数字滤波器的实例:设计一椭圆带通数字滤波器,w1p=0.25丌,wls=O.15丌,丌up=0.45丌,丌us=0.55丌,Rp=ldB,Rs=60dB。
MATLAB在电子信息课程中的应用.

MATLAB在电子信息课程中的应用陈艺摘要:介绍了MATLAB,并结合实例,详细探讨了MATLAB在电子信息课程中的应用。
关键词:MATLAB;工具箱;仿真实验;电子信息课程引言:MATLAB其功能强大,已成为数字信号处理等课程的主要工具软件,学习和掌握好MATLAB有助于专业课更好的学习。
1.MATLAB简介MATLAB 简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN 等语言完成相同的事情简捷得多。
在新的版本中也加入了对C,FORTRAN,C++ ,JAVA 的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。
2.MATLAB在电子信息课程中的应用●数字信号处理技术●工程与科学绘图●控制系统的设计与仿真●通讯系统设计与仿真2.1 MATLAB在信号与系统中的应用信号与系统是电子信息类专业的一门重要的专业基础课。
一方面,该课程涉及了许多基本分析方法,而掌握这些方法就要不仅要有较好的数学基础,而且要将大量的时间和精力花费在许多繁琐的工程计算上;将Matlab引入该课程,一些基本的分析方法便可用软件来实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8102569
583
24754
12743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y x
程序
A=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];
B=[4;-3;9;-8];
X=A\B
解:X =
2. 设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------=81272956313841A ⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡-----=793183262345B 求C1=AB’;C2=A’B;C3=A.*B,并求它们的逆阵。
程序
A=[1,4,8,13;-3,6,-5,-9;2,-7,-12,-8];
B=[5,4,3,-2;6,-2,3,-8;-1,3,-9,7];
C1= A*B',C2 = A'*B, C3 = A.*B inv(C1),inv(C2),inv(C3)
3. a. 列出2×2阶的单位矩阵I, 4×4阶魔方矩阵M 和4×2阶的全幺矩阵A,全零矩阵B
b. 将这些矩阵拼接为6×6阶的矩阵C:
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=M B A I C ' c. 求出C 的第2,4,6行,组成3×6阶的矩阵C1,及第2,4,6,裂,组成6×3阶的矩阵C2,
d. 求D=C1C2及D1=C2C1.
程序 >>I=eye(2),A=ones(4,2),
B=zeros(4,2),M=magic(4),
C=[I,A';B,M]
>>
C1=C([2,4,6,],:),C2=C(:,[2,4,6,])
>> D=C1*C2, D1=C2*C1
4.设 ⎥⎦⎤⎢⎣
⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线
解:程序
x=linspace(0,2*pi,101)
y=cos(x).*+3*sin(x)./(1+x.^2)); plot(x,y),grid
5.求代数方程3x 5+4x 4+7x 3+2x 2
+9x+12=0的所有根。
程序
>>a=[3,4,7,2,9,12];
r=roots(a)
解:r = +
-
+
-
6.把1开五次方,并求其全部五个根。
(提
示:解x 5-1=0)
程序
>>a1=[1,0,0,0,0,-1];
r1=roots(a1)
解:r1 = +
-
+
-
7. 设方程的根为x=[-3,-5,-8,-9],求它们对应的x 多项式的系数。
程序 >> a=poly([-3,-5,-8,-9])
解:a=1 25 223 831 1080
即 a(x) = x 4 + 25x 3+ 223x 2+ 831x+1080
8. 设微分方程
u dt dy dt
y d dt y d dt y d =++++3452223344
求输入u(t)=δ(t)时的输出y(t). 解: 系统传递函数为
3
4521)(234++++=s s s s s W 输入信号的拉普拉斯变换为U(s)=1,故输出信号的拉普拉斯变换为:
求拉普拉斯反变换的程序为:
>> b=1;
a=[1,2,5,4,3];
[r,p]=residue(b,a)
>> t=0::10;
y=r'*exp(p*t);
plot(t,y),grid
9. 产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。
并求全体的平均值和均方差。
程序>> x=randn(8,6)
m=mean(x)
mm=mean(mean(x))
s=std(x)
ss=std(x(:))
10.产生4×6阶的均匀分布随机数矩阵R,要求其元素在1到16之间取整数值。
并求此矩阵前四列组成的方阵的逆阵。
>> R=rand(4,6)
x=ceil(16*R)
y=inv(x(:,1:4))
11. 设x=r cos t+3t, y=r sint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y 曲线。
>> t=0::10;
for r=2:4
x=r*cos(t)+3*t;
y=r*sin(t)+3;
plot(x,y)
hold on
end
hold off
grid
12. 设x=sin t, y=sin(Nt+α),
a)若α=常数,令N = 1,2,3,4,在四个
子图中分别画出其曲线
b)若N=2,取α=0,π/3,π/2,及π,
四个子图中分别画出其曲线
程序a
t=0::10;
x=sin(t);y=sin(t+pi/2);
subplot(2,2,1),plot(x,y)
x=sin(t);y=sin(2*t+pi/2);
subplot(2,2,2),plot(x,y)
x=sin(t);y=sin(3*t+pi/2);
subplot(2,2,3),plot(x,y)
x=sin(t);y=sin(4*t+pi/2);
subplot(2,2,4),plot(x,y)
程序b
x=sin(t);y=sin(2*t);
subplot(2,2,1),plot(x,y)
x=sin(t);y=sin(2*t+pi/3);
subplot(2,2,2),plot(x,y)
x=sin(t);y=sin(2*t+pi/2);
subplot(2,2,3),plot(x,y)
x=sin(t);y=sin(2*t+pi);
subplot(2,2,4),plot(x,y)
13.设f(x)=x5- 4x4 +3x2- 2x+ 6
(1)x=[-2,8]之间函数的值(取100个点),
画出曲线,看它有几个过零点。
(提示:用polyval 函数)
(2)用roots 函数求此多项式的根。
程序 >> a=[1,-4,0,3,-2,6];
x=linspace(-2,8,100);
f=polyval(a,x);
plot(x,f),grid
r=roots(a)
14.设z z y z z x 3cos ,3sin ==, 要求在z=0~10区间内画出x,y,z 三维曲线。
程序 z=0::10;
x=z.*sin(3*z);
y=z.*cos(3*z);
plot3(x,y,z),grid
15.设)(222y x e x z +-=
求定义域x=[-2,2],y=[-2,2]内的z 值(网格取间隔),
程序>> x=-2::2;y=-2::2;
>> X=x'*ones(1,length(y));
>> Y=ones(length(x),1)*y;
[X,Y]=meshgrid(-2::2,-2::2); >> z=X.*X.*exp(-X.*X-Y.^2);
>> mesh(z),grid
16. 设 z1= 画出z1 的曲面(平面)图,迭合在上题的图中。
程序 >> z1=**y+;
>> hold on, mesh(z1);
20. 设x x x x x x x f 1cos 5sin 2)(2
3++-= (1) 画出它在x=[0,4] 区间内的曲线。
求出它的过零点的值。
(2) 求此曲线在x 轴上方及下方的第一
块所围的面积的大小。
函数程序:function y=pbf32(x)
y=x.^3-2*x.^2.*sin(x)+5*x.*cos(x)+1./x;
主程序:>> fplot('pbf32',[0,4]) >> grid
>> x1=fzero('pbf32',
x1 =
>> x2=fzero('pbf32',
x2 =
>> s1=quad8('pbf32',0,x1)
s1 = Inf
>> s2=quad8('pbf32',x1,x2)
s2 =
21 已知微分方程:y x y x dx dy cos 2
-=,若y(0)=1,
求它在x=[0,5]区间内的数值积分,并画出曲线。
解:函数程序:function Dy=pbf33(x,y)
Dy=x.^2./y-x.*cos(y);
主程序:
>>[x,Iy]=ode23('pbf33',[0,5],1); >> plot(x,Iy), grid
22 eval 命令执行字符串s=’y=magic(3)’.
>> s='magic(3)'; M= eval(s) M = 8 1 6
3 5 7
4 9 2。