2020/8/251MATLAB在电气工程中的应用2020/8/252MATLAB简介对一般的计算语言来说,必须采用两层循环才能得到结果:vari,j:integer;//用pascal语言x,y:array[0..10]ofarray[0..20]ofreal;constm=10;n=20;beginfori:=1tomdoforj:=1tondoy[i][j]:=exp(x[i][j])*sin(x[i][j]);end;MATLAB只用一条指令:y=exp(-2*x).*sin(5*x)。)5sin(2xeyx例:已知x是(n×m)维数组,计算:2020/8/253MATLAB简介例:对于求解代数方程问题:bAx当A的列数大于行数时,有无数解。MATLAB只用一条指令:x=A\b。Abx当A是标量时:当A是非奇异矩阵时:bAx1当A是行数大于列数的满秩阵时,称超定方程组或矛盾方程组:bAAAxTT1)(2020/8/254MATLAB简介在MATLAB中仅用以下指令:ezsurf('y/(1+x^2+y^2)')221yxyz例:绘制二元函数曲面:2020/8/255MATLAB简介MATLAB是专门为科学计算而设计的,具有强大数据图示功能的工具软件。语法结构简明、数值计算高效、图形功能完备、易学易用。在矩阵代数、数值计算、数字信号处理、震动理论、神经网络控制、动态仿真、建模、系统识别、控制系统、非线性系统、模糊控制、优化技术、通讯系统、财政金融等领域有着广泛应用。2020/8/256教学内容第一章MATLAB基础第二章MATLAB基本语法第三章数组及矩阵运算第四章数值计算第五章符号运算第六章MATLAB计算结果可视化第七章MATLAB在系统仿真中的应用第八章MATLAB在信号处理中的应用2020/8/257通过本课程学习,使学生掌握利用MATLAB进行数值计算的基本方法,熟悉MATLAB编程环境、语言语法、程序结构、编程及调试技术,掌握MATLAB中M文件、M函数编写方法及调试技术、MATLAB的绘图和图形控制函数等内容,上机练习MATLAB数值解算方法,具备上机操作的技能,学习MATLAB在电气工程学科中的建模与分析方法,为后续专业课程学习奠定基础。课程任务2020/8/258考试形式考试方式:1、平时成绩(出勤率+课堂习题报告)2、考试2020/8/259MATLAB的发展历程MATLAB是MatrixLaboratory的缩写。20世纪70年代由CleveMoler博士用FORTRAN语言开发了最初版本的矩阵分析软件。80年代初期,由Moler、JohnLittle和SteveBangert采用C语言改写了MATLAB的内核。并于1984年成立了Mathworks软件开发公司,将MATLAB正式推向市场。1988年推出了MATLAB3.1(DOS)版本。1993年,推出了应用于Windows操作系统的MATLAB4.0版本。1996年12月,推出MATLAB5.0版本(Release8)。1997年5月,推出MATLAB5.1版本(Release9)。1998年3月,推出MATLAB5.2版本(Release10)。1999年11月,推出MATLAB5.3版本(Release11)。2000年11月,推出MATLAB6.0版本(Release12)。2001年6月,推出MATLAB6.1版本(Release12.1)。2002年7月,推出MATLAB6.5版本(Release13)。2020/8/2510MATLAB的发展历程2004年6月,推出MATLAB7.0版本(Release14)。2004年11月,推出MATLAB7.0.1版本(Release14SP1)。2005年3月,推出MATLAB7.0.4版本(Release14SP2)。2005年9月,推出MATLAB7.1版本(Release14SP3)。2006年3月,推出MATLAB7.2版本(Release2006a)。2006年9月,推出MATLAB7.3版本(Release2006b)。2007年3月,推出MATLAB7.4版本(Release2007a)。2007年9月,推出MATLAB7.5版本(Release2007b)。2008年3月,推出MATLAB7.6版本(Release2008a)。2008年10月,推出MATLAB7.7版本(Release2008b)。2009年3月,推出MATLAB7.8版本(Release2009a)。2009年9月,推出MATLAB7.9版本(Release2009b)。2010年3月,推出MATLAB7.10版本(Release2010a)。2020/8/2511MATLAB的主要特点MATLAB的基本单位为矩阵。MATLAB语言以解释方式工作。具有非常友好的人机界面。具有强大的作图和数据可视化功能.智能化程度高。具有极强的可扩展性。2020/8/2512第一章MATLAB基础2020/8/25131.1MATLAB的基本组成MATLAB软件主要由主包、Simulink动态系统仿真和工具箱(Toolbox)三大部分组成。*主包包括了MATLAB语言、数学函数库、工作环境、图形处理系统和应用程序接口五部分。*Simulink是用于系统仿真的交互式图形系统,是MATLAB非常重要的共生产品。2020/8/2514*Toolbox实际是用MATLAB的基本语句编成的开放式各种子程序集,用于解决各专业领域的特定问题,例如:控制系统、信号处理、图像处理、模糊集合、神经网络、小波分析等。*MATLAB编译器,可以将M文件转化为C或C++语言代码,增强了MATLAB灵活性。2020/8/25151.2MATLAB系统界面MATLAB的启动桌面快捷方式启动开始菜单方式启动MATLAB的退出Matlab菜单命令/关闭按钮在Matlab命令窗口输入exit或quit2020/8/2516MATLAB的用户界面窗口CommandwindowWorkspaceHistorycommandwindowCurrentdirectoryLaunchpadM-FileFigureModelGUI2020/8/2517历史命令发射台命令窗口标题栏菜单栏常用工具栏工作区间当前目录2020/8/25182020/8/2519MATLAB命令窗口MATLAB语句形式变量=表达式;当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则需在语句之后加上分号。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。方向键可以编辑修改已输入的命令↑:调出上一行语句;↓:调出下一行语句;2020/8/2520多行命令(…)如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。例如:S=1-12+13+4+9-4-18;等价于:S=1-12+13+4+…9-4-18;命令窗口的分页输出moreoff:不允许分页moreon:允许分页more(n):指定每页输出的行数回车键显示下一行,空格键显示下一页,q结束当前显示。2020/8/2521页面显示的疏密控制formatloose(默认):稀疏显示格式;formatcompact:密集显示格式;清命令窗口clc2020/8/2522显示所有目前内存中的MATLAB变量、数学结构、类型以及所占的空间并可进行变量的编辑等。MATLAB的workspace中的变量管理who:显示当前工作空间中所有变量的一个简单列表;whos:显示出变量的大小、数据格式等详细信息;clear:清除工作空间中所有的变量;clear变量名:清除指定的变量;MATLAB工作空间2020/8/2523MATLAB的workspace中的变量保存和载入save:将工作空间的所有变量存到matlab.mat的二进制文件中。savefilename:将所有变量保存到磁盘文件filename中。savefilenamevariables:将variables所表示的变量列表保存到磁盘文件filename中。各个不同的变量之间只能用空格来分隔。load(filename)(variables):将数据文件载入MATLAB工作空间。2020/8/2524MATLAB历史命令窗MATLAB当前目录各种历史命令输入的记载,便于随时查看和调用,通过M文件运行的命令不显示。显示和改变当前目录,显示目录下的文件并提供搜索功能。2020/8/2525helpwin指令在命令窗口中键入helpwin,进入帮助窗口;helpdesk指令在命令窗口中键入helpdesk(或doc,或点击工具条中的?按钮),进入帮助窗口,显示HTML格式的帮助内容。1.3MATLAB帮助系统2020/8/2526help命令help:列出所有的帮助主题,每个帮助主题对应于MATLAB搜索路径中的一个目录;help库名:得到库中全部函数名;help函数名或命令;得到函数或命令的帮助信息;lookfor命令如在命令窗口中键入:lookforsu,则只要有与‘su’匹配的单词就显示出来。其收索条件比help命令宽。demo命令demo:可得到MATLAB及其所以工具箱中的全部演示程序。是学习MATLAB的一种很好的途径。2020/8/25271.5MATLAB两种工作方式指令行操作方式——键入命令行。执行M文件方式——键入程序名。1.4MATLAB常用命令2020/8/2528第二章MATLAB基本语法第二章数组及矩阵运算2020/8/2529任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。数的显示格式2.1数值、变量及其赋值2020/8/2530format命令控制数的显示格式:format(short)(默认):如pi=3.1416;formatlong:如pi=3.14159265358979;formatrat:如pi=355/113;formatshorte:如pi=3.1416e+000;formatlonge:如pi=3.141592653589793e+000;formatbank:2位十进制,如pi=3.14;formathex:如pi=400921fb54442d18;format+:正数、零、负数分别用“+”、空格、“-”表示2020/8/2531常量MATLAB的保留常量和变量特殊变量取值ans用于结果的缺省变量名pi圆周率eps系统能准确表示的浮点数的精度:2^-52inf无穷大,如1/0NaN不定值,如0/0i,j虚数单位nargin所用函数的输入变量数目nargout所用函数的输出变量数目realmin最小可用正实数realmax最大可用正实数保留常量不能重复定义!2020/8/2532MATLAB语言的标识符命名规则标识符:标志常量名、变量名、函数名和文件名的字符串的总称。标识符的合法字符是52个英文字母(区分大小写)、10个数字和下划线;第一个字符必须是英文字母(不能超过63个字符);标识符必须是不含空格的单个词;2020/8/2533矩阵和变量的赋值直接赋值语句赋值变量=表达式(或常量)表达式由运算符、函数、变量名和数字组成,运算符有+、-、*、\、/、^、'、[]等。(ex201)函数调用语句[返回变量列表]=函数名(输入变量列表)例:[a,b,c]=my_fun(d,e,f,c)冒号表达式v=s1:s2:s3其中s1是起始值,s2是步长(若省略步