MATLAB简介及其基础.ppt
《MATLAB简介及其基础.ppt》由会员分享,可在线阅读,更多相关《MATLAB简介及其基础.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 MATLAB编程与应用编程与应用任课教师任课教师 李建美李建美办公室办公室 南区八号楼南区八号楼-405电话电话 88395524课程学时安排课程学时安排学时学时:40学时学时安排:讲课安排:讲课28学时,上机学时,上机12学时学时学习内容学习内容一、一、MATLABMATLAB基础(基础(2020)二、二、MATLABMATLAB的应用(的应用(8 8)一、一、MATLABMATLAB概述概述二、二、MATLABMATLAB的数值运算功能的数值运算功能三、三、MATLABMATLAB中的计算结果可视化中的计算结果可视化三、三、MATLABMATLAB程序设计程序设计四、四、MATLABMA
2、TLAB的符号运算功能的符号运算功能五、五、SimulinkSimulink仿真初步仿真初步六、六、MATLABMATLAB的工具箱的工具箱七、七、MATLABMATLAB文件文件I/OI/O八、八、MATLABMATLAB的应用的应用具体内具体内容容第一章第一章 MATLAB概述概述(一)(一)MATLABMATLAB语言的发展语言的发展 MATLAB名字由名字由MATrix和和 LABoratory 两词的前三个字母两词的前三个字母组合而成。组合而成。20世纪七十年代,时任美国新墨西哥大学计算机科学系主任世纪七十年代,时任美国新墨西哥大学计算机科学系主任的的Cleve Moler出于减轻学
3、生编程负担的动机,为学生设计了出于减轻学生编程负担的动机,为学生设计了一组调用一组调用LINPACK和和EISPACK矩阵软件工具包库程序的的矩阵软件工具包库程序的的“通俗易用通俗易用”的接口,此即用的接口,此即用FORTRAN编写的萌芽状态的编写的萌芽状态的MATLAB。MATLAB creator Cleve Moler 1984年年 由由 Cleve Moler、Jack Little等等 合合 作作 成成 立立MathWorks公司,并把公司,并把MATLAB正式推向市场。正式推向市场。从这时起,从这时起,MATLAB的内核采用的内核采用C语言编写,而且除语言编写,而且除原有的数值计算
4、能力外,还新增了数据图视功能。原有的数值计算能力外,还新增了数据图视功能。Jack Little:President and Co-founder of The MathWorks Cleve Moler:Chief Scientist/Founder The MathWorks公司公司从从1984年成立,年成立,The MathWorks 已经逐步成为全球已经逐步成为全球科学科学计算计算和和基于模型设计基于模型设计的软件供应商的领导者。的软件供应商的领导者。The MathWorks总部位于马萨诸塞州的总部位于马萨诸塞州的Natick,现在全球现在全球范围内拥有范围内拥有2000多名员工(多
5、名员工(http:/)The MathWorks 中国分公司位于北京,中国分公司位于北京,2007年成立年成立(http:/)The MathWorks总部大楼概貌现今的现今的matlab7.x拥有更丰富的数据类型和结构、更友善的面拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。资源、更多的应用开发工具。自自MathWorks公司公司1993年推出年推出matlab4.0问世以来,问世以来,Matlab语言就成为了最具吸引力、应用最为广泛的科学计算语言;语言就成为了最具吸
6、引力、应用最为广泛的科学计算语言;1997年春,年春,matlab5.0版问世,紧接着是版问世,紧接着是5.1、5.2,以及,以及1999年春的年春的5.3版。版。2001年和年和2002年年mathworks公司又相继推出了强大的公司又相继推出了强大的matlab升级版本升级版本matlab6.0和和matlab6.5Matlab版本版本(二)(二)MATLABMATLAB语言的特点语言的特点1.语言简洁紧凑,使用方便灵活,库函语言简洁紧凑,使用方便灵活,库函数极其丰富数极其丰富 MATLAB程序书写形式自由,利用起丰富的库函程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩
7、了一切不必要的数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用不必担心函数的可靠性。可以说,用MATLAB进行科进行科技开发是站在专家的肩膀上。技开发是站在专家的肩膀上。2.运算符丰富运算符丰富由于由于MATLAB是用是用C语言编写的,语言编写的,MATLAB提供了和提供了和C语言几乎一样多的运算符,灵活使用语言几乎一样多的运算符,灵活使用MATLAB的运的运算符将使程序变得极为简短。算符将使程序变得极为简短。3.MATLAB既具有结构化的控制语句既具有结构化的控制语句(如
8、(如for循环,循环,while循环,循环,break语句和语句和if语句),又有面向对象编程的特性。语句),又有面向对象编程的特性。4.程序限制不严格,程序设计自由度大程序限制不严格,程序设计自由度大例如,在例如,在MATLAB里,用户无需对矩阵里,用户无需对矩阵预定义就可使用。预定义就可使用。5.程序的可移植性很好,基本上不做修程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系改就可以在各种型号的计算机和操作系统上运行。统上运行。6.MATLAB的图形功能强大的图形功能强大在在FORTRAN和和C语言里,绘图都很不容语言里,绘图都很不容易,但在易,但在MATLAB里,数据的
9、可视化非里,数据的可视化非常简单。常简单。MATLAB还具有较强的编辑图还具有较强的编辑图形界面的能力。形界面的能力。7.功能强大的工具箱是功能强大的工具箱是MATLAB的另一特色的另一特色MATLAB工具箱包含两个部分:工具箱包含两个部分:核心部分:核心部分:有数百个核心内部函数有数百个核心内部函数 各种可选的工具箱各种可选的工具箱 工具箱又分为两类:工具箱又分为两类:功能性工具箱功能性工具箱 学科性工具箱学科性工具箱功能性工具箱功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能,功能性工具箱用能、文字处理功
10、能以及与硬件实时交互功能,功能性工具箱用于多种学科。于多种学科。学科性工具箱学科性工具箱是专业性比较强的,面向专门的学科领域。如是专业性比较强的,面向专门的学科领域。如control toolbox,signl proceessing toolbox,commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而可编写的,所以用户无需编写自己学科范围内的基础程序,而可直接进行高、精、尖的研究。直接进行高、精、尖的研究。目前目前MathWorks 已经开发了已经开发了80
11、多种面向不同专门学科多种面向不同专门学科领域的工具箱,诸如:领域的工具箱,诸如:符号数学工具箱符号数学工具箱SIMULINK仿真工具箱仿真工具箱控制系统工具箱控制系统工具箱信号处理工具箱信号处理工具箱图像处理工具箱图像处理工具箱通讯工具箱通讯工具箱系统辨识工具箱系统辨识工具箱小波分析工具箱小波分析工具箱神经元网络工具箱神经元网络工具箱金融工具箱金融工具箱 举例:控制系统工具箱中的 RLC 电路响应(时域和频域)8.源程序的开放性源程序的开放性开放性也许是开放性也许是MATLAB最受人们欢迎的最受人们欢迎的特点。特点。除内部函数以外,所有除内部函数以外,所有MATLAB的核心的核心文件和工具箱文
12、件都是可读可改的源文文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。入自己的文件构成新的工具箱。9.MATLAB的缺点的缺点 和其他高级程序相比,程序的执行速和其他高级程序相比,程序的执行速度较慢。由于度较慢。由于MATLAB的程序不用编译的程序不用编译等预处理,也不能生成可执行文件,程等预处理,也不能生成可执行文件,程序为解释执行,所以速度较慢。序为解释执行,所以速度较慢。(三)(三)MATLABMATLAB语言的功能语言的功能强大的数值(矩阵)运算功能强大的数值(矩阵)运算功能广泛的符号运算功能广泛的符号运算
13、功能计算结果的可视化功能计算结果的可视化功能可靠的容错功能可靠的容错功能应用灵活的兼容与接口功能应用灵活的兼容与接口功能信息量丰富的联机检索功能信息量丰富的联机检索功能1.矩阵运算功能矩阵运算功能MATLAB提供了丰富的矩阵运算处理功能,是提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。基于矩阵运算的处理工具。变量变量 矩阵,运算矩阵,运算 矩阵的运算矩阵的运算例如例如 C=A+B,A,B,C都是矩阵都是矩阵,是矩阵的加是矩阵的加运算运算即使一个常数,即使一个常数,Y=5,MATLAB也看做是一个也看做是一个1 1的矩阵的矩阵2.符号运算功能符号运算功能符号运算即用字符串进行数学分析符
14、号运算即用字符串进行数学分析允许变量不赋值而参与运算允许变量不赋值而参与运算用于解代数方程、微积分、复合导数、积分、用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰乐级数展二重积分、有理函数、微分方程、泰乐级数展开、寻优等等,可求得解析符号解开、寻优等等,可求得解析符号解举例:符号计算示例举例:符号计算示例(1)微分求解:)微分求解:diff(x3)ans=3*x2(2)积分求解:)积分求解:int(x3)ans=1/4*x4(3)方程求解:)方程求解:x=solve(a*x2+b*x+c=0)x=1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(
15、b2-4*a*c)(1/2)(4)多项式展开)多项式展开 expand(a+b)3)ans=a3+3*a2*b+3*a*b2+b33.丰富的绘图功能与计算结果的可视化丰富的绘图功能与计算结果的可视化具有高层绘图功能具有高层绘图功能两维、三维绘图两维、三维绘图具有底层绘图功能具有底层绘图功能句柄绘图句柄绘图实例:绘制实例:绘制matlab图标图标load logosurf(L,R),colormap(M),N=length(L(:,1)4.图形化程序编制功能图形化程序编制功能动态系统进行建模、仿真和分析的软件包动态系统进行建模、仿真和分析的软件包用结构图编程,而不用程序编程用结构图编程,而不用程
16、序编程只需拖几个方块、连几条线,即可实现编程功只需拖几个方块、连几条线,即可实现编程功能能实例:建立一个模型,将正弦信号输出到实例:建立一个模型,将正弦信号输出到示波器中。示波器中。非法操作时,给出提示,并不影响其操作非法操作时,给出提示,并不影响其操作1/0Warning:Divide by zeroans=Inf5.MATLAB的容错功能的容错功能6.MATLAB的兼容功能的兼容功能可与可与C语言、语言、FORTURE语言跨平台兼容语言跨平台兼容用函数用函数CMEX、FMEX实现实现7.强大的联机检索帮助功能强大的联机检索帮助功能可随时检索可随时检索matlab函数函数可随时查询可随时查询
17、matlab函数的使用方法函数的使用方法(四)(四)MATLABMATLAB语言系统的组成语言系统的组成MTALAB系统由五个主要部分组成系统由五个主要部分组成1.MATALB语言体系语言体系 高层次的矩阵数组语言高层次的矩阵数组语言 具有条件控制、函数调用、数据结构、输入输出、面向具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。对象等程序语言特性。2.MATLAB工作环境工作环境 包括管理工作空间中的变量数据输入输出的方式和方法,包括管理工作空间中的变量数据输入输出的方式和方法,以及开发、调试、管理以及开发、调试、管理M文件的各种工具。文件的各种工具。3.图形句相系统图形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 简介 及其 基础
限制150内