《博研联盟MATLAB》PPT课件.ppt_第1页
《博研联盟MATLAB》PPT课件.ppt_第2页
《博研联盟MATLAB》PPT课件.ppt_第3页
《博研联盟MATLAB》PPT课件.ppt_第4页
《博研联盟MATLAB》PPT课件.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第一讲 MATLAB简介,11 MATLAB与通信仿真 111 通信电路与系统仿真 112 MATLAB的发展史 113 MATLAB语言的主要特点,12 MATLAB简介 121 MATLAB的计算功能 MATLAB的数据结构、数值计算功能、符号计算功能(*)。 122 MATLAB中的计算结果可视化 二维曲线图形三维曲面图形、句柄图形、图形用户界面(GUI)编程。,2,11 MATLAB与通信仿真,111 通信电路与系统仿真,一般来说,通信电路与系统仿真过程可以分为五个步骤:,(1)系统建模:根据要分析的通信电路与系统,建立相应的数学模型。,(2)仿真算法:找到合适的仿真算法。 MATLAB已经被确认为准确、可靠的科学计算标准软件。,(3)仿真语言:应用仿真语言编写计算程序。MTLAB语言有非常突出的优点,是通信电路与系统仿真首选的仿真语言。,(4)仿真计算:根据初步的仿真结果对该数学模型进行验证。,(5)系统仿真:进行系统仿真,并认真地分析仿真的结果。,仿真算法、仿真语言和仿真程序构成了数字仿真软件。,数学模型的正确性、仿真算法的可行性、仿真程序的准确性和可靠性,最后编制成一个成熟的仿真软件。,3,111 通信电路与系统仿真(续),通信电路与系统仿真在教学实践中应用越来越普遍。,对于改进教学效果、给学生提供形象化的信息、激发学生的学习兴趣、提高学生的自学能力、加强学生对授课内容的理解等无疑是十分有益的。有利于对学生分析问题的能力和解决问题的能力的培养。,学生掌握了系统仿真的方法以后,不但使他加强了对所学课程的理解,同时还便于钻研一些他本人感兴趣的问题,有利于部分学有余力的学生进一步自学的要求。,在美国和欧洲大学中,九十年代将MATLAB正式列入了电子工程专业研究生和本科生的教学计划, MATLAB是必须掌握的基本工具。,在设计研究单位和工业界,MATLAB也成为工程师们应该掌握的一种工具,是被认作进行高效研究、开发的首选软件工具。,4,112 MATLAB的发展史,MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。,1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。,1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。,5,113 MATLAB语言的主要特点,(1)具有丰富的数学功能,包括矩阵各种运算。如:正交变换、三角分解、特征值、常见的特殊矩阵等。,包括各种特殊函数。如:贝塞尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数等。,包括各种数学运算功能。如:数值微分、数值积分、插值、求极值、方程求根、FFT 、常微分方程的数值解等。,(2)具有很好的图视系统,可方便地画出两维和三维图形。,图形用户界面GUI制作工具,可以制作用户菜单和控件。使用者可以根据自己的需求编写出满意的图形界面。,高级图形处理。如:色彩控制、句柄图形、动画等。,6,113 MATLAB语言的主要特点(续),(3)可以直接处理声言和图形文件。,(4)具有若干功能强大的应用工具箱。,(5)使用方便,具有很好的扩张功能。,声言文件。如: WAV文件(例:wavread,sound等)。,图形文件。如: bmp 、gif 、 pcx 、tif 、jpeg等文件。,如:SIMULINK、COMM、DSP、 SIGNAL等16种工具箱。,(6)具有很好的帮助功能,可以M文件转变为独立于平台的EXE可执行文件。,使用MATLAB语言编写的程序可以直接运行,无需编译。,提供十分详细的帮助文件(PDF 、HTML 、demo文件)。,联机查询指令:help指令(例:help elfun,help exp,help simulink),lookfor关键词(例: lookfor fourier )。,MATLAB的应用接口程序API是MATLAB提供的十分重要的组件 ,由 一系列接口指令组成 。用户就可在FORTRAN或C中 , 把MATLAB当作计算引擎使用 。,7,12 MATLAB简介,12 1 MATLAB的计算功能,(1) MATLAB的数据类型,现有四种基本数据类型:双精度数组、字符串数组、元胞数组、构架数组。,元胞数组(Cell Array)如同银行里的保险箱库一样。,该数组的基本组分是元胞(Cell),以下标来区分。,元胞可以存放任何类型、任何大小的数组。,构架数组(Structure Array)也能存放各类数据。,该数组的基本组分是构架( Structure ),以下标来区分。,构架必须在划分“域”后才能使用。,数据不能存放于构架,只能存放在域中。,构架的域可以存放任何类型、任何大小的数组。,不同构架的同名域中存放的内容可不同。(例 1_2_2 ),同一个元胞数组中各元胞的内容可以不同。(例 1_2_1),8,(2) MATLAB的基本数值计算功能,基本计算功能:MATLAB有强大的函数库。(常用的基本函数库和常用的三角函数库等),矩阵运算及数组运算。,矩阵运算符:+ 加法,- 减法,* 乘法, 幂, 左除,/ 右除, 转置。,数组运算符:.+ 加法,.- 减法,.* 乘法,. 幂,. 左除,./ 右除,. 共轭。,数组函数和矩阵函数。,例 1_2_3:已知 的采样数据是 维数组。 要计算 。对一般的计算语言来说,必须采用两层循环才能得到结果。MATLAB处理这类问题则简洁快捷得多,它只需直截了当的一条指令y = exp(-2*t).*sin(5*t) ,就可获得同样是 维的 数组。,9,(3) MATLAB的高级数值计算功能,关系运算和逻辑运算。,多项式:多项式的求根、分解 、求导数以及多项式的拟合。,数据分析函数:对数据集合进行统计分析。例如:求最大值、最小值、平均值、标准偏差 、相关系数等。,数值分析函数:求函数极值、函数零点和极点、数值积分、数值微分、微分方程的数值解等。,付立叶变换和付立叶逆变换。,例 1_2_4:在付立叶变换(Fourier)、 Z 变换和拉氏变换(Laplace)中,常有两个多项式之比,MATLAB中提供函数 residue 执行部分分式展开。,例 1_2_5:应用数值积分,求时间函数w(t)的Fourier级数展开系数。,例 1_2_6:应用FFT,求时间函数w(t)的Fourier级数展开系数。,10,(4) MATLAB的符号计算,符号表达式和符号矩阵。,符号矩阵的基本运算。,符号计算的两大特点:符号解和任意精度解。,MATLAB的符号计算借助符号工具箱(Symbolic)实现。,定义基本符号对象的指令有两个:sym,syms。,符号表达式: 。,符号矩阵:,两个符号矩阵的和: symadd(A,B),两个符号矩阵的差: symsub(A,B),两个符号矩阵的积: symmul(A,B),两个符号矩阵的除: symdiv(A,B),符号矩阵的求逆: inverse(B),11,(4) MATLAB的符号计算(续),符号微积分。,符号积分变换。,符号代数方程的求解。,符号微分方程的求解:y1,y2,=dsolve(a1,a2,a12),例 1_2_7:应用符号计算法,求时间函数w(t)的Fourier级数展开系数。,符号表达式的微分: diff(f),符号表达式的积分: int(f),线性方程组的符号解:X=linsolve(A,B)(特解),一般代数方程的解:solve(S),X,Z=linsolve(A,B)(通解),12,122 MATLAB中的计算结果可视化,(1)二维曲线图形和三维曲面图形,二维曲线图形。,三维曲面图形。,基本绘图指令:PLOT(Y),PLOT(X,Y),例 1_2_8:混合式图形的绘制(矩阵对向量的图形)。,一个窗口多个图形的绘制:SUBPLOT(M,N,P),例 1_2_9:一个窗口多个图形的绘制。,三维线性图形。,例 1_2_10:绘制一个三维螺旋线。,三维曲面图形。,例 1_2_11:绘制一个三维曲面图形。,13,(1)二维曲线图形和三维曲面图形(续1),特殊二维图形指令:,填充的函数折(曲)线图(面域图):area,直方图:bar,垂直的直方图:barh,三维直方图:bar3,垂直的三维直方图:bar3h,慧星轨迹状的图形:comet,误差棒图:errorbar,符号函数二维曲线:ezplot,沿X轴分布的复数向量图(羽毛图):feather,射线图:compass,平面多边形填色 :fill,14,(1)二维曲线图形和三维曲面图形(续2),特殊二维图形指令:,数值函数二维曲线(泛函绘图指令):fplot,向量的统计直方图:hist,带有标准的直方图:pareto,饼图:pie,三维饼图:pie3,矩阵折(曲)线图:plotmatrix,带状图:ribbon,散点图(与相似 ,但是只有数据点):scatter,火柴杆图:stem,阶梯图:stairs,15,(1)二维曲线图形和三维曲面图形(续3),交互式图形指令:,这是与鼠标有关的图形操作指令:ginput,gtext,legend,zoom 。,除 ginput 只能用于二维图形外 ,其余三个指令对二维、三维图形均适用 。,指令 ginput 与 zoom 经常配合使用 ,以便从图形获得较准确的数据 。,指令 x,y = ginput(n)用鼠标从二维图形上获得 n 个点的数据坐标(x,y)。,指令 gtext (arg)用鼠标把字符串或字符串元胞数组 arg 放置到图形上。,指令 legend (arg,pos)在指定位置建立图例。,指令 zoom 是变焦操作(图形放大和缩小)。,16,(2)句柄图形,图形对象、对象句柄和句柄图形树。,句柄图形(Handle Graphics)是一种面向对象的绘图系统。该系统提供创建计算机图形所必须的各种软件。它所支持的指令,可直接创建线、 文字、 网线、面以及图形用户界面。前述的MATLAB高层图形指令都是以句柄图形软件为基础写成的,所以句柄图形也称为低层图形指令。,MATLAB把用于数据可视和界面制作的基本绘图要素称为句柄图形对象。,构成MATLAB句柄图形体系有12个图形对象:根屏幕、图形窗、界面控件、轴 、界面菜单、线、面、方、块、象、字、光。,每个具体对象都有一个“与生俱来 、终生不变”的独特“身份”,即对象句柄。,根屏幕的句柄总是数字0,图形窗的句柄总是正整数,其余对象的句柄则是双精度浮点数。(句柄图形树),17,(2)句柄图形(续),图形对象的属性:所有对象都由一组属性来定义它们的特征。属性由两部分组成:属性名和属性值。,图形对象属性的设置和使用。,句柄图形应用举例。,图形对象句柄的获得:,函数 返回对象所有属性的当前值。,函数 改变句柄图形对象的属性。,例 1_2_13:任意布置子图和轴外注释。,例 1_2_14:制作个性化双坐标系。,例 1_2_15:连续变焦和飞驰图形。,例 1_2_16:动画制作示例。,18,(3)图形用户界面(GUI)编程,( ),控件对象及属性。,现代的主流应用程序已经从命令行的交互方式转变为以图形界面为主的交互方式,这主要是由于它给用户带来了操作和控制的方便与灵活性。MATLAB能够以比较简单的方式实现一系列的图形界面功能。,控件对象是一类图形界面对象, MATLAB支持10种控件对象:坐标轴、静态文本框、可编辑文本框、弹式菜单、滚动条、框架、命令按钮、单选按钮、复选框、列表框。,用户用鼠标在控件对象上进行操作,单击鼠标时 ,将会使应用程序作出响应并执行某些预定的子程序。,控件对象的属性分为两大类,笫一类是所有控件对象都具有的公共属性,笫二类是作为图形对象的属性。,创建控件对象的MATLAB函数:,19,(3)图形用户界面(GUI)编程(续),菜单对象及属性。,由M函数文件设计举例。,菜单对象(或称下拉式菜单对象)可以让用户在运行应用程序时,从一批功能选择项中浏览和选择某项功能。在MATLAB图形窗口中 是默认主菜单,用户可以创建自己定义的菜单。,在所有用户菜单属性中,最不可缺的属性是菜单名( )和回调( )。前者用于识别不同菜单项;后者用于产生相应的操作,使该菜单项发挥应有的作用。,创建菜单对象的MATLAB函数:,例 1_2_18:带下拉式菜单表的用户菜单。,例 1_2_19:用户菜单的外观设计 。,例 1_2_20:菜单的使能属性与不可见属性设计 。(END),例 1_2_17:控件对象设计。,20,例 1_2_1 元胞数组,返回,本例演示:元胞数组的创建。,C_str=char(清华大学,电子工程系); %产生字符串,R=reshape(1:9,3,3); %产生(3X3)实数阵R,Cn=1+2i; %产生复数标量,S_sym=sym(sin(-3*t)*exp(-t); %产生符号函数量,(1)直接创建法之一:“外标识元胞元素赋值法”,(2)直接创建法之二:“编址元胞元素内涵的直接赋值法”,A(1,1)=C_str;A(1,2)=R; A(2,1)=Cn;A(2,2)=S_sym;,A %显示元胞数组类型,B1,1=C_str;B1,2=R;B2,1=Cn;B2,2=S_sym;,celldisp(B) %显示元胞数组内容,(张志涌P82),(M1_ex1_2_1.m),21,例 1_2_2 构架数组,返回,本例通过温室数据(包括温室名、容积、温度、湿度等)演示:单构架green_house的创建和显示。(它有三个域:name,volume,parameter。而 parameter又有三个子域:temperature,humidity。),(1)直接对域赋值法产生“单构架”,即构架数组。,green_=一号房;,%构架的域由(构架名).(域名)标识。,green_house.volume=2000立方米;,green_house.parameter.temperature=31.2 30.4 31.6 28.7 29.7 31.1 30.9 29.6;,green_house.parameter.humidity=62.1 59.5 57.7 61.5 62.0 61.9 59.2 57.5;,(2)显示“单构架”结构和内容:green_house,。,(张志涌P86),(M1_ex1_2_2.m),22,例 1_2_3 数组运算举例。,返回,(张志涌P2),t=rand(10,10); y=exp(-2*t).*sin(5*t);,(M1_ex1_2_3.m),演示:clear % 清除工作区变量 whos % 检查工作区变量 M1_ex1_2_3.m % 运行程序 whos % 检查工作区变量( t , y ),23,例 1_2_4 多项式部分分式展开。,返回,num=10*1 4 5 6 7; %分子多项式 den=poly(-2;-1;-0。5); %分母多项式 res,poles,k=residue(num,den),res = -6.6667 -60.0000 64.1667,poles = -2.0000 -1.0000 -0.5000,k = 10 5,上面的结果说明了这个问题 :,(龚剑P62),(M1_ex1_2_4.m),24,例 1_2_5:应用数值积分,求时间函数w(t)的Fourier级数展开系数。,(张志涌P163),返回,已知时间函数:,fzzyquad.m ? 调用函数cos_y,sin_y出问题。,25,例 1_2_6:应用FFT,求时间函数w(t)的Fourier级数展开系数。,(张志涌P165),返回,已知时间函数:,fzzyfft.m,运行指令:A_fft,B_fft=fzzyfft。,26,例 1_2_7:应用符号计算法,求时间函数w(t)的Fourier级数展开系数。,返回,已知时间函数:,(张志涌P162),A_sym,B_sym=fzzysym(T,Nf,Nn) % 采用符号计算求0,T内时间函数的三角级数展开系数。 % 函数的输入输出都是数值量 % Nf 谐波的阶数 % Nn 输出数据的准确位数 % A_sym 第1元素是直流项,其后元素依次是1,2,3.次谐波cos项展开系数 % B_sym 第2,3,4,.元素依次是1,2,3.次谐波sin项展开系数 %- syms ttt n if nargin1;T=2;end if nargin2;Nf=6;end if nargin3;Nn=32;end yy=time_fun_s(ttt); A0=int(yy,ttt,0,T)/T; As=int(yy*cos(2*pi*n*ttt/T),ttt,0,T); Bs=int(yy*sin(2*pi*n*ttt/T),ttt,0,T); A_sym(1)=double(vpa(A0,Nn); for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn); B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn); %- function yy=time_fun_s(ttt) % 该函数是fzzysym.m的子函数。它由符号变量和表达式写成。 y1=sym(Heaviside(ttt-0.5)*(ttt-0.5); yy=y1-sym(Heaviside(ttt-1.5)*(ttt-1.5)+1); %-,27,例 1_2_8:混合式图形的绘制。,返回,(龚剑P132),% M1_ex1_2_8.m %= y=1:length(peaks); plot(peaks,y); %=,混合式图形的绘制(矩阵对向量的图形)。,28,例 1_2_9:一个窗口多个图形的绘制。,返回,(龚剑P139),% M1_ex1_2_9.m %= subplot(2,2,1),fplot(humps,0 1) subplot(2,2,2),fplot(abs(exp(-j*x*(0:9)*ones(10,1),0 2*pi) subplot(2,2,3),fplot(tan(x),sin(x),cos(x),2*pi*-1 1 -1 1) subplot(2,2,4),fplot(sin(1./x),0.01 0.1,1e-3) %=,将图形窗口分为四个区域,在每个区域中,采用横坐标自适应取点绘图绘制图形。,29,例 1_2_10:绘制一个三维螺旋线。,返回,(龚剑P140),% M1_ex1_2_10.m %= t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) title(Helix),xlabel(sin(t),ylabel(cos(t),zlabel(t) text(0,0,0,Origin) grid %=,plot3可用来画一个单变量的三维函数。,30,例 1_2_11:绘制一个三维曲面图形。,返回,(龚剑P143),% M1_ex1_2_11.m %= x=-8:0.5:8; y=x; X,Y=meshgrid(x,y); R=sqrt(X.2+Y.2)+eps; z=sin(R)./R; mesh(z) %= pause subplot(2,2,1);meshc(z) subplot(2,2,2);meshz(z) %=,31,例 1_2_12:句柄图形树,返回,(张志涌P398),Root 根屏幕,Figure 图形窗,Uicontrol 界面控件,Axes 轴,Uimenu 界面菜单,Line 线,Surface 面,Rectangle 方,Patch 块,Image 象,Text 字,Light 光,32,例 1_2_13:任意布置子图和轴外注释。,(张志涌P412),返回,M1_ex1_2_13.m,本例演示:axes轴位框设计、rectangle的运用、及轴外注释。所谓轴外注释,实际上是使用了两个轴位框。一个轴位框充满全部图形窗,其坐标框被隐去,而只写注释文字。而另一个比较小的轴位框用于绘图。这样从外表看去,注释就处于那小轴位框的外部。,33,例 1_2_14:制作个性化双坐标系。,返回,(张志涌P414),M1_ex1_2_14.m,制作一个双坐标系用来表现高压和低温两个不同量的过渡过程。,34,例 1_2_15:连续变焦和飞驰图形。,返回,(张志涌P415),fly_zzy.m %连续改变相机位置,产生贯穿地球的效果。 earth_zzy(0)%调用函数文件,产生三维地球图形。,通过CameraPosition设置的不断变化,使地球迎面飞来,贯穿而过,从地球另一面飞离而去。但在整个飞行过程中,相机镜头始终对着地球。,35,例 1_2_16:动画制作示例。,返回,(张志涌P418),% anim_zzy1.m演示红色小球沿一条封闭螺线运动的实时动画 % 仅演示实时动画的调用格式为 anim_zzy1(K) % K 红球运动的循环数(不小于1),36,例 1_2_17:控件对象设计。,返回,(张志涌P426),对于传递函数为 的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。本例演示:(A)图形界面的大致生成过程;(B)静态文本和编辑框的生成;(C)坐标方格控制键的形成;(D)如何使用该界面。,M1_1_2_17.m,在编辑框输入 0.3,可以看到 一根曲线 。 在编辑框输入 0.1:0.1:1,可以看到十根曲线 。,37,例 1_2_18:带下拉式菜单表的用户菜单。,返回,(张志涌P431),本例演示:如何自制一个带下拉菜单表的用户菜单。该菜单能使图形窗背景颜色设置为兰色或红色。,M1_1_2_18.m,38,例 1_2_19:用户菜单的外观设计 。,返回,(张志涌P435),M1_2_19.m,本例演示:()把用户菜单 Option 设置为顶层的第菜单项;()下拉菜单被两条分隔线分为三个菜单区;()最下菜单项又有两个子菜单组成。,39,例 1_2_20:菜单的使能与不可见属性设计 。,返回,(张志涌P437),本例目标:制作一个带四个子菜单项的顶层菜单项;该下拉菜单分为两个功能区;每个功能区的两个菜单项是相互对立的,因此采用使能属性处理;当图形窗坐标轴消隐时,整个坐标分隔控制功能区不可见。,M1_2_20.m,40,直方图:ex_bar.m,返回,%exm07412_1.m % 讲座一例(ex_bar.m) THEE 2001/9 %= x=-2:2; Y=3,5,2,4,1;3,4,5,2,1;5,4,3,2,5; clf,shg subplot(1,2,1),bar(x,Y,stacked) xlabel(x),ylabel(Sigma y),colormap(cool) legend(因素A,因素B,因素C) subplot(1,2,2),barh(x,Y,grouped) xlabel(y),ylabel(x) %=,41,三维直方图: ex_bar3.m,返回,%exm07412_2.m % 讲座一例(ex_bar3.m) THEE 2001/9 %= clf;shg x=-2:2; Y=3,5,2,4,1;3,4,5,2,1;5,4,3,2,5; subplot(1,2,1),bar3(x,Y,1) xlabel(因素ABC),ylabel(x),zlabel(y) colormap(summer) subplot(1,2,2),bar3h(x,Y,grouped) ylabel(y),zlabel(x) %=,42,数值函数二维曲线(泛函绘图指令):ex_fplot.m,返回,%exm074112_1.m % 讲座一例(ex_fplot.m) THEE 2001/9 %= %clf,shg x,y=fplot(cos(tan(pi*x),-0.4,1.4,0,2e-3);n=length(x); subplot(1,2,1),plot(x,y)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论