资源预览内容
第1页 / 共306页
第2页 / 共306页
第3页 / 共306页
第4页 / 共306页
第5页 / 共306页
第6页 / 共306页
第7页 / 共306页
第8页 / 共306页
第9页 / 共306页
第10页 / 共306页
亲,该文档总共306页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MATLAB及其应 用fumswxc.edu.cn*1第一篇 语言篇n第1章 MATLAB 语言概述n第2章 基本语法n第3章 MATLAB 的开发环境和工具n第4章 MATLAB 的其他函数库*Date2第二篇 应用篇n第5章 MATLAB在电路中的应用n第6章 MATLAB在信号与系统中的应用n第7章 MATLAB在数字信号处理中应用n第8章 MATLAB在自动控制原理中应用n第9章 MATLAB工具箱简介n附录A、B、C、D*Date3第1章 MATLAB语言概述n1.1 MATLAB语言的发展n1.2 MATLAB语言的特点n1.3 MATLAB的工作环境1.3.1 命令窗1.3.2 图形窗1.3.3 文本编辑窗n1.4 演示程序n1.5 网络资源*Date41.1 MATLAB语言的发展n1.1.1 MATLAB 概述MATLAB是集数值计算、符号运算及图形处理 等强大功能于一体的科学计算语言,是一种交互式 的以矩阵为基础的系统计算平台,它用于科学和工程 的计算与可视化。它的优点在于快速开发计算方法 ,而不在于计算速度。 MATLAB已成为一门高校必修的课程,也是 最为普遍的计算工具之一。*Date51.1 MATLAB语言的发展(续)n1.1.2 Matlab的发展 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而 成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学 系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设 计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“ 通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。1984年由Little、Moler、Steve Bangert合作成立MathWorks公 司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C 语言编写,而且除原有的数值计算能力外,还新增了数据图视 功能。*Date61997年春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999 年春的5.3版。现今的MATLAB拥有更丰富的数据类型和结构、更 友善的面向对象、更加快速精良的图形可视、更广博的数学和 数据分析资源、更多的应用开发工具。2000年末又推出6.0版本。无论在界面的设计上还是在内容上较 以前版本都有很大的进展。2004年又推出了7.0版本,*Date71.1 MATLAB语言的发展(续)n1.1.3 Matlab的版本演化Matlab 1.0Pc matlab-matlab 386Matlab3.5+simulinkMatlab 4.0:simlink内嵌(1992)Matlab 5.0 :全面的面向对象Matlab 5.15.3 (1999)Matlab 6.0 (2000)Matlab 6.5:购并了MATRIXxMatlab 7.0: (2004)*Date81.2 MATLAB语言的特点n友好的工作平台和编程环境n简单易用的程序语言n强大的科学计算及数据处理能力n出色的图形处理功能n应用广泛的模块集和工具箱n实用的程序接口和发布平台n模块化的设计和系统级的仿真*Date91.3 MATLAB的工作环境1.3.1 命令窗(Command Window)单行命令执行方式执行结果直接显示 1.3.2 图形窗(Figure Window)用图形方式表示计算结果 1.3.3 文本编辑窗(File Editor)多行命令组成语言组,可以文件方式存盘*Date10*第11页MATLAB 的主界面当前路 径窗口历史命 令窗口命令窗口工具栏主菜单栏当前目录 路径文件详 细信息工作区 窗口快速启动 窗口按钮Date11*第12页MATLAB 的工具栏新建打开剪切 复制 粘贴 撤 销恢复Simulink:打开 Simulink,Simulink 是 一个用来对动态系统进行建模、仿真和分 析的软件包,它支持连续、离散及两者混 合的线性和非线性系统,也支持具有多种 采样频率的系统。 Guide:快速启动 Guide,Guide 全称为 Graphical User Interface development environment,用于辅助设计图 形用户接口,使用该工具可以简 化 GUI 编程。Profiler:快速启动 Profiler 工具,Profiler 工具能够分析出程序运行时 间消耗情况,用于帮助分析 、改进 M 文件 Help:打开 MATLAB 帮助; Current Directory :设置当前目录Date12*第13页MATLAB 的窗口命令窗口MATLAB 命令窗口。打 开 MATLAB 时,命令窗 口自动显示于 MATLAB 界面中。 运算提示符,表示 MATLAB 处 于准备状态,用户可以输入命 令,按下回车键执行,并在命 令窗口中显示运行结果 Date13*第14页MATLAB 的窗口历史命令窗口n默认情况下历史命令窗口位于左下角,显示用户曾经输 入过的命令,并显示输入的时间,方便用户查询。n对于历史命令窗口中的命令,用户可以点击右键进行相 应的操作。n用户可以双击再次执行命令窗口中的命令。 命令历史窗口Date14*第15页MATLAB 的窗口工作区窗口 n工作区窗口与当前路径窗口共享一块空间,可以通过标签显 示或隐藏。工作区窗口中显示当前工作区中的所有变量及其 大小和类型等。通过工作区可以对这些变量进行管理。其中 包含了工作区工具栏和显示窗口。通过工具栏可以新建或删 除变量、导入导出数据、绘制变量的图形等。另外右键单击 变量名可以对该变量进行操作。工作区窗口Date15*第16页MATLAB 的窗口当前路径窗口 n当前路径窗口显示当 前路径下的所有文件 和文件夹及其相关信 息,并且可以通过当 前路径工具栏或右键 菜单对这些文件进行 操作 。当前路径窗口Date161.4 演示程序n在MATLAB的命令窗中键入demo或demos*Date17%pend.m plot(-0.2,0.2,0;0,color,y,linestyle,-,linewidth,10); g=0.98;l=1; theta0=pi/6;x0=l*sin(theta0); y0=-l*cos(theta0); axis(-0.75,0.75,-1.25,0); axis(off); head=line(x0,y0,color,r,linestyle,.,erasemode,xor,markersize ,40); body=line(0;x0,0,y0,color,b,linestyle,-,erasemode,xor); t=0;dt=0.01; while t(大于)、=(大于或等于)、 = =(等于)、 =(不等于) 。nMATLAB的关系操作符可以用来比较两个大小相同的数组, 或者比较一个数组和一个标量。在与标量比较时,结果和 数组大小一样。na=1:9;nb=a4nb = 0 0 0 0 1 1 1 1 1nc=a(a4)nc = 5 6 7 8 9Date542.4.1 关系操作符n矩阵查找和排序n子矩阵的查找使用find命令完成,它返回关系表达式为真 的下标。例如:na=10:20;nfind(a15);nans =n 7 8 9 10 11n矩阵的排序使用sort函数,它将矩阵按照升序排列。Date552.4.2 逻辑运算n逻辑操作符定义了一种与或非的关系表达式。 MATLAB的逻辑操作符有%利用find获得符合关系等式条件的元素“双下标“disp(ii),disp(jj)Date58Date59【例】关系运算运用之一:求近似极限 ,修补图形缺口。 t=-2*pi:pi/10:2*pi; y=sin(t)./t; subplot(1,2,1),plot(t,y),axis(-7,7,-0.5,1.2), xlabel(t),ylabel(y),title(残缺图形) tt=t+(t=0)*eps; yy=sin(tt)./tt; subplot(1,2,2),plot(tt,yy),axis(-7,7,-0.5,1.2) xlabel(t),ylabel(yy),title(正确图形) Date60Date61【例】逻辑操作应用之一:逐段解析函数的 计算和表现。本例演示削顶整流正弦半波的 计算和图形绘制。nt=linspace(0,3*pi,500);y=sin(t); nz1=(t2*pi).*y;nw=(tpi/3w=(tpi/3 elseif x=0y=x3+4*x; elsey=x5+x; endyx=input(x=); if x=10y=x2+3; elseif x=0y=x3+4*x;elsey=x5+x;end end yDate692.4.4 流程控制语句for循环nfor循环允许一组命令以固定的次数重复,它的一 般形式是qfor x=arrayq commandqendnfor 和end之间的命令串按数组array的每一列执行 一次,直到n次后终止。n如:for j=1:2:10y=j+j.2;endDate702.4.4 流程控制语句ofor循环不能使用内部重新赋值循环变量而终止 ;ofor循环内部接受任何有效的MATLAB数组;ofor循环可以嵌套;o只要有矩阵形式可以解决的问题,不要使用for 循环。Tic/toco循环可以使用break跳出,但只跳出所在的循环 ,不跳出整个嵌套结构。Date712.4.4 流程控制语句nwhile循环n与for循环以固定的次数求一组指令相反,while 循环以不定的次数求一组语句的值。While循环 的一般形式为:qwhile expressionq commondsqendn只要表达式expression里的所有元素为真,就执 行命令串commands。通常表达式求值给一个标 量值,单数组值也同样有效。Date72求y=0; for x=1:100y=y+x; end yN=input(N=); y=0; for i=1:Nfor j=1:Ny=y+1/(i+j);end end yN=input(N=); y=0; i=1; while i=10000a(i)break; end; End i 结果: ans = 10946i = 21 Date752.4.4 流程控制语句Switch 语句 是一种均衡实现的多分支语句。qSwitch expressionqCase 值1q commands1qCase 值2 q commands2 q qOtherwiseq commandsNqendDate76学生的成绩管理,用来演示switch结构的 应用。 clear; for i=1:10ai=89+i;bi=79+i;ci=69+i;di=59+i; end; c=d,c; Name= Jack,Marry,Peter, Rose, Tom; Mark=72,83,56,94,100; Rank=cell(1,5); S=struct(Name,Name,Marks,Mark,Rank,Rank);Date77for i=
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号