MATLAB基础学习教程.pptx
《MATLAB基础学习教程.pptx》由会员分享,可在线阅读,更多相关《MATLAB基础学习教程.pptx(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 第一部分第一部分 MATLAB MATLAB 基础及其基本应用基础及其基本应用 第二部分第二部分 模糊控制系统设计模糊控制系统设计模糊逻辑工具箱应用模糊逻辑工具箱应用uu模糊逻辑控制系统特点模糊逻辑控制系统特点uu模糊逻辑控制系统基本结构原理模糊逻辑控制系统基本结构原理uu使用使用GUIGUI工具建立工具建立FISFIS系统系统uu与与SimulinkSimulink一起工作一起工作uu MATLAB MATLAB 基础基础uu MATLAB MATLAB的程序设计的程序设计uu MATLAB MATLAB控制系统工具箱及其应用控制系统工具箱及其应用uu SIMULINK SIMULINK
2、与水轮机调节系统的仿真与水轮机调节系统的仿真 本部分讨论MATLAB的基本知识及用于控制系统仿真和简单辅助分析的基本方法。选取的实例主要为水轮机调节系统。本部分主要讨论MATLAB模糊逻辑工具箱在模糊控制系统设计中的应用。第1页/共98页2 第三部分第三部分 神经网络与应用神经网络与应用神经网络工具箱应用神经网络工具箱应用 本部分主要讨论MATLAB神经网络工具箱及其GUI工具的应用。u 感知器感知器(Perceptron)(Perceptron)uu 线性神经网络线性神经网络(Linear network)(Linear network)uu BP BP网络网络 (Back Propagat
3、ion network)(Back Propagation network)uu 径向基函数网络径向基函数网络(Radial Base Function network,RBF)(Radial Base Function network,RBF)uu 神经网络图形用户界面应用神经网络图形用户界面应用uu 神经网络神经网络SimulinkSimulink模型设计模型设计第2页/共98页3第一部分 MATLAB基础及其基本应用 第一章 MATLAB 基础 参考教材:参考教材:MATLABMATLAB控控制制系系统统辅辅助助设设计计工工程程师师工工具具软软件件应应用用系系列列欧欧阳阳黎黎明明编编著著
4、,国国防防工工业出版社。业出版社。MatlabMatlab神经网络与应用神经网络与应用,董长虹编著,国防工业出版社。,董长虹编著,国防工业出版社。MatlabMatlab模糊逻辑工具箱的分析与应用模糊逻辑工具箱的分析与应用,闻新等编著,科学出版社。,闻新等编著,科学出版社。其它相关教材其它相关教材第3页/共98页411 MATLAB与控制系统仿真111 控制系统与系统仿真 一般一般来说,控制系统仿真过程可以分为五个步骤:(1)系统建模:根据要分析的控制系统,建立相应的数学模型。(2)仿真算法:找到合适的仿真算法。MATLAB已经被确认为准确、可靠的科学计算标准软件。(3)仿真语言:应用仿真语言
5、编写计算程序。MTLAB语言有非常突出的优点,是控制系统仿真首选的仿真语言。(4)仿真计算:根据初步的仿真结果对该数学模型进行验证。(5)系统仿真:进行系统仿真,并认真地分析仿真的结果。仿真算法、仿真语言和仿真程序构成了数字仿真软件。确认数学模型的正确性、仿真算法的可行性、仿真程序的准确性和可靠性,最后编制成一个成熟的仿真软件。第4页/共98页5 控制系统仿真在教学实践中应用越来越普遍。对于改进教学效果、给学生提供形象化的信息、激发学生的学习兴趣、提高学生的自学能力、加强学生对授课内容的理解等无疑是十分有益的。有利于对学生分析问题的能力和解决问题的能力的培养。学生掌握了系统仿真的方法以后,不但
6、使他加强了对所学课程的理解,同时还便于钻研一些他本人感兴趣的问题,有利于部分学有余力的学生进一步自学的要求。在美国和欧洲大学中,九十年代将MATLAB正式列入了电气工程专业研究生和本科生的教学计划,MATLAB是必须掌握的基本工具。在设计研究单位和工业界,MATLAB也成为工程师们应该掌握的一种工具,是被认作进行高效研究、开发的首选软件工具。第5页/共98页61.1.2 MATLAB及其课程学习 MATLAB 具有计算机语言的属性,因此可以看作是一种使用方便、语句效率很高、更接近于人们思维和表达习惯的一种计算机语言。MATLAB 更可以被认为是一种进行科学研究的强有力工具。理由是具有由各领域顶
7、尖科学家参与开发的、功能丰富的工具箱。在这些工具箱的支持下,人们在各个研究领域几乎都可以找到它的应用。与学习其它课程有所不同,MATLAB牵扯面极广,几乎涉及现代科学的所有领域,因此,学习MATLAB必须与个人所从事的学科相结合。与学习计算机语言类似,必须勤于实践。挖掘其功能为科学研究服务,主要要靠自己努力。本课程主要侧重于怎样做,仅在必要时简要说明为什么。第6页/共98页7113 MATLAB的发展史 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,
8、为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。当前的最新版为7.x。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更
9、多的应用开发工具。第7页/共98页8114 MATLAB语言的主要特点(1)具有丰富的数学功能 包括矩阵各种运算。如:正交变换、三角分解、特征值、常见的特殊矩阵等。包括各种特殊函数。如:贝塞尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数等。包括各种数学运算功能。如:数值微分、数值积分、插值、求极值、方程求根、FFT、常微分方程的数值解等。(2)具有很好的图视系统 可方便地画出两维和三维图形。图形用户界面GUI制作工具,可以制作用户菜单和控件。使用者可以根据自己的需求编写出满意的图形界面。高级图形处理。如:色彩控制、句柄图形、动画等。第8页/共98页9113 MATLAB语言的主要特点(续)(
10、3)可以直接处理声言和图形文件。(4)具有若干功能强大的应用工具箱。(5)使用方便,具有很好的扩张功能。声言文件。如:WAV文件(例:wavreadwavread,soundsound等)。图形文件。如:bmp、gif、pcx、tif 、jpeg等文件。对于控制系统的应用如:SIMULINK、Control、Neural Network、Fuzzy Logic等多种工具箱。可以把M文件转变为独立于平台的EXE可执行文件。使用MATLAB语言编写的程序可以直接运行,无需编译。MATLAB的应用接口程序API是MATLAB提供的十分重要的组件,由 一系列接口指令组成。用户就可在FORTRAN或C中
11、,把MATLAB当作计算引擎使用。第9页/共98页10113 MATLAB语言的主要特点(续)(6)具有很好的帮助功能 提供十分详细的帮助文件(PDF、HTML、demo文件)。联机查询指令:help指令(例:help elfun,help exp,help simulink),lookfor关键词(例:lookfor fourier)。第10页/共98页1112 MATLAB简介 1.2.1 MATLAB的基本结构及环境 就其使用效果而言,MATLAB可以被认为是一种解释性编程语言。其优点在于语法简单,程序易于调试,交互性,且单一语句的效率很高。正因为如此,它被称为第四代编程语言。在图121
12、中的语言内核及编译控制程序运行部分提供了该语言的运行环境。图121 从外部表现来说,在Windows98/2000/XP系统环境下安装好MATLAB后,双击MATLAB图标或从“开始”菜单打开MATLAB,即可进入MATLAB集成环境,也就是MATLAB命令窗(MATLAB Command Window)。在后台,与该命令窗对应的是其工作空间(Workspace)。MATLAB的所有变量,运算结果均存贮在这个空间中,并由该空间管理我们所有输入的命令和函数调用。命令窗外形如图122 所示。第11页/共98页12 1.2.2 MATLAB的主要功能 MATLAB发展至今,已不仅仅是单纯矩阵运算的数
13、学处理软件,其开放式的结构吸引了许多优秀人才编写M函数和工具箱,目前已经渗透到了工程计算和设计的各个领域。其中与控制系统设计与仿真相关的功能大致有以下各项:一数值计算及分析 (1)向量、矩阵的运算分析。(2)复数运算及分析 (3)微分方程的求解 (4)稀疏矩阵的运算 (5)特殊函数的计算机分析 (6)快速傅里叶变换及信号处理矩阵计算 (7)数据分析及统计计算 二程序语言及算法实现 (1)程序流程控制语句 (2)C语言产生器 第12页/共98页13(3)文件管理 三MATLAB绘图功能 (1)二维图形绘制 (2)特殊坐标图形绘制及修改 (3)三维坐标图形绘制 四MATLAB与高级语言接口 (1)
14、MATLAB与C语言接口及库函数 (2)MATLAB与C+语言接口及库函数 (3)MATLAB编译器 五Simulink 建模与仿真 六功能强大的工具箱 (1)控制系统工具箱(Control System Toolbox)(2)鲁棒控制工具箱(Robust Control Toolbox)(3)模型预测控制工具箱(Model Predictive Control Toolbox)(4)mu分析与校正工具箱(mu Analysis and Systhesis Toolbox)(5)多变量系统频域设计工具箱(MultiVariable Frequency Design Toolbox)第13页/共
15、98页14 (6)定量反馈控制工具箱(Quantitative Feedback Theory Toolbox)(7)频域系统辨识工具箱(Frequency Domain System Identifica-tion Toolbox)(8)系统辨识工具箱(System Identification Toolbox)(9)神经网工具箱(Neural Network Toolbox)(10)小波分析工具箱(Wavelet Toolbox)(11)最优化工具箱(Optimization Toolbox)(12)偏微分方程工具箱(Partial Differential Equation Toolbo
16、x)(13)信号处理工具箱(Signal Processing Toolbox)(14)图像处理工具箱(1mage Processing Toolbox)(15)扩展符号数学工具箱(Extended Symbolic Math Toolbox)1.2.3 MATLAB的主要管理命令 u help 命令:help exp,help simulink等;u lookfor命令:lookfor 关键词,例:lookfor fourier;u demo:运行演示程序;第14页/共98页15u who命令:列出当前工作空间的变量;u whos 命令:列出当前工作空间的变量(长表);u clear 命令:
17、清除工作空间的所有变量;u save 和 load命令:在 MATLAB的Command Window中可以方便地将数据存成文件,也可以随时调用数据文件。这可通过选择Command Window的菜单项File Save Workspace As来实现。注意,所有MATLAB的数据文件后缀名必须为mat,即:XXX.mat。数据的存储和调用,除了菜单操作之外,还可以直接在工作空间中输入命 令。键 入 命 令 save,则 将 工 作 空 间 中 所 有 变 量 存 入 到 磁 盘 上 的MATLAB.mat文件中,当 MATLAB再被运行时,键入命令1oad,则将这些变量从MATLAB.mat
18、文件中调出并重新装入到MATLAB的工作空间中去。第15页/共98页16save和1oad命令的后边也可以跟文件名和指定的变量名,若仅是直接使用save和load命令,则只能将所有变量存入到MATLAB.mat文件中和从MATLAB.mat文件中将所有变量重新装人工作空间,而加上文件名和指定的变量名后可实现好几种功能,如:Save sy将所有变量存入到sy.mat文件中;1oad sy 将变量从sy.mat文件中调出来,放入当前的工作空间中;若欲存入指定的变量到某个文件中,可使用save sy x y;load sy x y将存入的指定变量 x,y从 sy.mat文件中重新调出到当前工作空间中
19、。此外,SIMULINK也可产生.mat文件,其调用方法与上述方法相同。1.2.4 MATLAB的基本使用方法 有三种方法使用MATLAB:(1)演草纸式的数学运算 第16页/共98页17 用MATLAB进行数学运算,就像在计算器上算算术一样简单方便。因此,MATLAB被誉为“演草纸式的科学计算语言”。例如,在MATLAB的Command Window下可以极为方便地进行下列算术运算:4+6+2ans=12注意,输入who命令可检查在工作空间中所建立的变量名。当前工作空间中的变量ans为默认变量,这意味着如果我们没有指定变量的话,所有的运算结果都将赋值给ans。(2)在Command Wind
20、ow上直接输入MATLAB程序命令语句如:a=4;b=6;c=2;d=a+b+c;d=12第17页/共98页18 (3)用编辑器编写程序(脚本文件)然后运行u 在Command Window下选择菜单FileNewM-file 打开编辑器Editor/Debugger;u 在Editor/Debugger中输入程序命令;u 在Editor/Debugger上选择菜单Filesave as,所有MATLAB 的可运行程序后缀名必须为m,即:XXX.m;u 在Command Window下选择菜单FileRun-M file,即可运行。1.2.5 MATLAB的基本语句结构 MATLAB语言能够完
21、成高级计算机语言的绝大部分功能,语法和语句结构也非常类似,因此,有高级语言基础的读者能够很快适应MATLAB的风格。一、变量 作为MATLAB的最基本运算单元,变量是具体运算和编写函数的基础。与高级语言类似,变量的基本赋值语句结构是:变量名=表达式 第18页/共98页19 变量名可以是字母或数字,但首字符必须是字母。表达式可以是任意合法的数字、函数及运算符。如果表达式没有命名,则MATLAB把结果存储和显示在ans变量中,以备查询和使用。请看下例:例ex1_1 在MATLAB环境下求解表达式:求解过程:在MATLAB Command Window下直接键入:x=exp(0.5)+sin(pi/
22、6)*log(sqrt(10)可得到:x=2.2244或直接输入exp(0.5)+sin(pi/6)*log(sqrt(10)可得到:ans=2.2244 第19页/共98页20 通过上述例子可以很快熟悉MATLAB中变量的使用方法,事实上,通过这个例子还会发现MATLAB可以作为一个功能强大的函数计算器使用。关于变量的使用还有一些需要说明的问题:(1)MATLAB对变量名的大小写敏感,大小写代表不同的变量。(2)显示结果的缺省格式是5位有效数字,命令“format short e”、“format long”和“format long e”的输出格式分别为5位浮点数、15位定点数和15为浮点
23、数。(3)MATLAB中有一些保留的常量,例如inf表示无穷大。MATLAB依照IEEE的标准允许除数为0,产生这种情况时只给出警告,不中止程序,结果为inf。另一个常量NaN表示非数字(Not a Number),一般是由inf/inf或0/0产生的。这些特点使得MATLAB比一般的高级语言有着更高的容错性,更加灵活可靠。(4)变量在应用之前不必是维数确定的。在MATLAB中,变量一旦被采用,会自动产生(如果必要,变量的维数以后还可以改变)。第20页/共98页21 二、运算符和特殊字符 (1)“+”:加号,用于标量、向量和矩阵的相加。例如,A+B,A和B两矩阵必须有相同的大小,或其中之一为标
24、量,标量可以与任意大小的矩阵相加。(2)“”:减号,用于标量、向量和矩阵的相减。例如,AB,A和B两矩阵必须有相同的大小,或其中之一为标量,标量可以与任意大小的矩阵相减。(3)“*”:矩阵乘法(注意标量和向量也是矩阵的特殊形式)。例如CA*B为两矩阵线性代数的乘积,即对于非标量A和B,A的列数必须与B的行数相等。(4)“.*”:数组乘积。A.*B表示数组A和数组B的对应元素相乘;A和B必须大小相同,或者其中之一为标量。(5)“”:斜线或矩阵右除,B/A近似等于B*inv(A)。(6)“./”:数组右除。A./B表示矩阵元素A(i,j)/B(i,j),A和B必须大小相同,或者其中之一为标量。(7
25、)“”:反斜线或左除。如果A为方阵,AB近似等于inv(A)*B。第21页/共98页22 (8)“.”:数组左除。A.B表示矩阵元素B(i,j)/A(i,j),A与B必须大小相同,或者其中之一为标量。(9)“”:矩阵幂。例如Xp,如果p为标量,表示X的p次幂。X和p不能同为矩阵。(10)“.”:数组幂。A.B表示矩阵元素A(i,j)的B(i,j)次幂,A与B必须大小相同,或者其中之一为标量。(11)“”:矩阵转置。A表示矩阵A的线性代数转置。对于复矩阵,表示复共轭转置。(12)“:”:冒号操作符。冒号操作符在MATLAB中起着重要作用。该操作符用来建立矢量,赋予矩阵下标和规定迭代。例如,j:k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 基础 学习 教程
限制150内