数学建模案例分析--MATLAB在电气工程中的应用.ppt
MATLAB在电气工程中的应用在电气工程中的应用2023/4/22电气工程MATLAB简介简介对一般的计算语言来说,必须采用两层循环才能得到结果对一般的计算语言来说,必须采用两层循环才能得到结果:vari,j:integer;/用用pascal语言语言x,y:array0.10ofarray0.20ofreal;constm=10;n=20;beginfori:=1tomdoforj:=1tondoyij:=exp(xij)*sin(xij);end;MATLAB只用一条指令只用一条指令:y=exp(-2*x).*sin(5*x)。例例:已知已知x是是(nm)维数组,计算维数组,计算:2023/4/22电气工程MATLAB简介简介例:对于求解代数方程问题:例:对于求解代数方程问题:当当A的列数大于行数时,有无数解。的列数大于行数时,有无数解。MATLAB只用一条指令只用一条指令:x=Ab。当当A是标量时:是标量时:当当A是非奇异矩阵时:是非奇异矩阵时:当当A是是行行数数大大于于列列数数的的满满秩秩阵阵时时,称超定方程组或矛盾方程组:称超定方程组或矛盾方程组:2023/4/22电气工程MATLAB简介简介在在MATLAB中仅用以下指令:中仅用以下指令:ezsurf(y/(1+x2+y2)例:绘制二元函数例:绘制二元函数曲面:曲面:2023/4/22电气工程MATLAB简介简介lMATLAB是是专专门门为为科科学学计计算算而而设设计计的的,具具有有强强大大数数据据图示功能的工具软件。图示功能的工具软件。l语语法法结结构构简简明明、数数值值计计算算高高效效、图图形形功功能能完完备备、易易学学易用。易用。l在在矩矩阵阵代代数数、数数值值计计算算、数数字字信信号号处处理理、震震动动理理论论、神神经经网网络络控控制制、动动态态仿仿真真、建建模模、系系统统识识别别、控控制制系系统统、非非线线性性系系统统、模模糊糊控控制制、优优化化技技术术、通通讯讯系系统统、财政金融等领域有着广泛应用。财政金融等领域有着广泛应用。2023/4/22电气工程教学内容教学内容n第一章第一章MATLAB基础基础n第二章第二章MATLAB基本语法基本语法n第三章第三章数组及矩阵运算数组及矩阵运算n第四章第四章数值计算数值计算n第五章第五章符号运算符号运算n第六章第六章MATLAB计算结果可视化计算结果可视化n第七章第七章MATLAB在系统仿真中的应用在系统仿真中的应用n第八章第八章MATLAB在信号处理中的应用在信号处理中的应用2023/4/22电气工程通通过过本本课课程程学学习习,使使学学生生掌掌握握利利用用MATLAB进进行行数数值值计计算算的的基基本本方方法法,熟熟悉悉MATLAB编编程程环环境境、语语言言语语法法、程程序序结结构构、编编程程及及调调试试技技术术,掌掌握握MATLAB中中M文文件件、M函函数数编编写写方方法法及及调调试试技技术术、MATLAB的的绘绘图图和和图图形形控控制制函函数数等等内内容容,上上机机练练习习MATLAB数数值值解解算算方方法法,具具备备上上机机操操作作的的技技能能,学学习习MATLAB在在电电气气工工程程学学科科中中的的建建模模与与分分析析方方法法,为为后后续续专专业业课课程程学学习习奠奠定基础。定基础。课程任务课程任务2023/4/22电气工程考试形式考试形式考试方式:考试方式:1、平时成绩、平时成绩(出勤率出勤率+课堂习题报告课堂习题报告)2、考试、考试2023/4/22电气工程MATLAB的发展历程的发展历程lMATLAB 是是Matrix Laboratory的的缩缩写写。20世世纪纪70年年代代由由 CleveMoler博士用博士用FORTRAN语言开发了最初版本的矩阵分析软件。语言开发了最初版本的矩阵分析软件。l80年年代代初初期期,由由Moler、JohnLittle和和SteveBangert采采用用C语语言言改改写写了了MATLAB的的内内核核。并并于于1984年年成成立立了了Mathworks软软件件开开发发公公司,将司,将MATLAB正式推向市场。正式推向市场。l1988年推出了年推出了MATLAB3.1(DOS)版本。)版本。l1993年,推出了应用于年,推出了应用于Windows操作系统的操作系统的MATLAB4.0版本。版本。l1996年年12月,推出月,推出MATLAB5.0版本版本(Release8)。l1997年年5月,推出月,推出MATLAB5.1版本版本(Release9)。l1998年年3月,推出月,推出MATLAB5.2版本版本(Release10)。l1999年年11月,推出月,推出MATLAB5.3版本版本(Release11)。l2000年年11月,推出月,推出MATLAB6.0版本版本(Release12)。l2001年年6月,推出月,推出MATLAB6.1版本版本(Release12.1)。l2002年年7月,推出月,推出MATLAB6.5版本版本(Release13)。2023/4/22电气工程MATLAB的发展历程的发展历程l2004年年6月,推出月,推出MATLAB7.0版本版本(Release14)。l2004年年11月,推出月,推出MATLAB7.0.1版本版本(Release14SP1)。l2005年年3月,推出月,推出MATLAB7.0.4版本版本(Release14SP2)。l2005年年9月,推出月,推出MATLAB7.1版本版本(Release14SP3)。l2006年年3月,推出月,推出MATLAB7.2版本版本(Release2006a)。l2006年年9月,推出月,推出MATLAB7.3版本版本(Release2006b)。l2007年年3月,推出月,推出MATLAB7.4版本版本(Release2007a)。l2007年年9月,推出月,推出MATLAB7.5版本版本(Release2007b)。l2008年年3月,推出月,推出MATLAB7.6版本版本(Release2008a)。l2008年年10月,推出月,推出MATLAB7.7版本版本(Release2008b)。l2009年年3月,推出月,推出MATLAB7.8版本版本(Release2009a)。l2009年年9月,推出月,推出MATLAB7.9版本版本(Release2009b)。l2010年年3月,推出月,推出MATLAB7.10版本版本(Release2010a)。2023/4/22电气工程MATLAB的主要特点的主要特点 MATLAB 的基本单位为矩阵。的基本单位为矩阵。MATLAB 语言以解释方式工作。语言以解释方式工作。具有非常友好的人机界面。具有非常友好的人机界面。具有强大的作图和数据可视化功能具有强大的作图和数据可视化功能.智能化程度高。智能化程度高。具有极强的可扩展性。具有极强的可扩展性。2023/4/22电气工程第一章第一章 MATLAB 基础基础2023/4/22电气工程1.1MATLAB的基本组成的基本组成MATLAB软件主要由主包、软件主要由主包、Simulink 动态系统仿动态系统仿真和工具箱(真和工具箱(Toolbox)三大部分组成。)三大部分组成。*主主包包包包括括了了 MATLAB 语语言言、数数学学函函数数库库、工工作环境、图形处理系统和应用程序接口五部分。作环境、图形处理系统和应用程序接口五部分。*Simulink是是用用于于系系统统仿仿真真的的交交互互式式图图形形系系统统,是是MATLAB非常重要的共生产品。非常重要的共生产品。2023/4/22电气工程 *Toolbox实际是用实际是用MATLAB的基本语句编成的的基本语句编成的开放式各种子程序集,用于解决各专业领域的特定开放式各种子程序集,用于解决各专业领域的特定问题,例如:控制系统、信号处理、图像处理、模问题,例如:控制系统、信号处理、图像处理、模糊集合、神经网络、小波分析等。糊集合、神经网络、小波分析等。*MATLAB编译器,可以将编译器,可以将M文件转化为文件转化为C或或C+语言代码,增强了语言代码,增强了MATLAB灵活性。灵活性。2023/4/22电气工程1.2MATLAB系统界面系统界面lMATLAB的启动的启动桌面快捷方式启动桌面快捷方式启动开始菜单方式启动开始菜单方式启动lMATLAB的退出的退出Matlab菜单命令菜单命令/关闭按钮关闭按钮在在Matlab命令窗口输入命令窗口输入exit或或quit2023/4/22电气工程MATLAB的用户界面窗口的用户界面窗口lCommandwindowlWorkspacelHistorycommandwindowlCurrentdirectorylLaunchpadlM-FilelFigurelModellGUI2023/4/22电气工程历史命令历史命令发射台发射台命令命令窗口窗口标题栏标题栏菜单栏菜单栏常用工具栏常用工具栏工作区间工作区间当前目录当前目录2023/4/22电气工程2023/4/22电气工程 MATLAB命令窗口命令窗口lMATLAB语句形式语句形式变量表达式;变量表达式;当当键键入入回回车车键键时时,该该语语句句被被执执行行。语语句句执执行行之之后后,窗窗口口自自动动显显示示出出语语句句执执行行的的结结果果。如如果果希希望望结结果果不不被被显显示示,则则需需在在语语句句之之后后加加上上分分号号。此此时时尽尽管管结结果果没没有有显显示示,但但它它依依然然被被赋赋值值并并在在MATLAB工工作作空空间间中中分分配配了内存。了内存。l 方向键可以编辑修改已输入的命令方向键可以编辑修改已输入的命令 :调出上一行语句;:调出上一行语句;:调出下一行语句;:调出下一行语句;2023/4/22电气工程l 多行命令(多行命令()如果命令语句超过一行或者太长希望分行输入,则如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。可以使用多行命令继续输入。例如:例如:S=1-12+13+4+9-4-18;等价于:等价于:S=1-12+13+4+9-4-18;l命令窗口的分页输出命令窗口的分页输出 more off:不允许分页:不允许分页 more on:允许分页:允许分页 more(n):指定每页输出的行数:指定每页输出的行数 回车键显示下一行,空格键显示下一页,回车键显示下一行,空格键显示下一页,q结束当前显结束当前显示。示。2023/4/22电气工程l页面显示的疏密控制页面显示的疏密控制formatloose(默认默认):稀疏显示格式;稀疏显示格式;formatcompact:密集显示格式;密集显示格式;l清命令窗口清命令窗口 clc2023/4/22电气工程l显示所有目前内存中的显示所有目前内存中的MATLAB变量、数学结构、变量、数学结构、类型以及所占的空间并可进行变量的编辑等。类型以及所占的空间并可进行变量的编辑等。lMATLAB的的workspace中的变量管理中的变量管理who:显示当前工作空间中所有变量的一个简单列:显示当前工作空间中所有变量的一个简单列表;表;whos:显示出变量的大小、数据格式等详细信息;:显示出变量的大小、数据格式等详细信息;clear:清除工作空间中所有的变量;:清除工作空间中所有的变量;clear变量名变量名:清除指定的变量;:清除指定的变量;MATLAB工作空间工作空间 2023/4/22电气工程lMATLAB的的workspace中的变量保存和载入中的变量保存和载入save:将将工工作作空空间间的的所所有有变变量量存存到到matlab.mat的的二二进进制文件中。制文件中。savefilename:将所有变量保存到磁盘文件将所有变量保存到磁盘文件filename中。中。savefilenamevariables:将将variables所所表表示示的的变变量量列列表表保保存存到到磁磁盘盘文文件件filename中中。各各个个不不同同的的变变量量之之间间只能用空格来分隔。只能用空格来分隔。load(filename)(variables):将将数数据据文文件件载载入入MATLAB工作空间。工作空间。2023/4/22电气工程 MATLAB历史命令窗历史命令窗 MATLAB当前目录当前目录l各种历史命令输入的记载,便于随时查看和调用,各种历史命令输入的记载,便于随时查看和调用,通过通过M文件运行的命令不显示。文件运行的命令不显示。l显示和改变当前目录,显示目录下的文件并提供搜显示和改变当前目录,显示目录下的文件并提供搜索功能。索功能。2023/4/22电气工程lhelpwin指令指令在命令窗口中键入在命令窗口中键入helpwin,进入帮助窗口;,进入帮助窗口;lhelpdesk指令指令在命令窗口中键入在命令窗口中键入helpdesk(或(或doc,或点击工具,或点击工具条中的条中的?按钮),进入帮助窗口,显示按钮),进入帮助窗口,显示HTML格格式的帮助内容。式的帮助内容。1.3 MATLAB帮助系统帮助系统2023/4/22电气工程lhelp命令命令help:列列出出所所有有的的帮帮助助主主题题,每每个个帮帮助助主主题题对对应应于于MATLAB搜索路径中的一个目录;搜索路径中的一个目录;help库名库名:得到库中全部函数名;:得到库中全部函数名;help函数名或命令函数名或命令;得到函数或命令的帮助信息;得到函数或命令的帮助信息;llookfor命令命令如如在在命命令令窗窗口口中中键键入入:lookforsu,则则只只要要有有与与su匹配的单词就显示出来。其收索条件比匹配的单词就显示出来。其收索条件比help命令宽。命令宽。ldemo命令命令demo:可可得得到到MATLAB及及其其所所以以工工具具箱箱中中的的全全部部演演示程序。是学习示程序。是学习MATLAB的一种很好的途径。的一种很好的途径。2023/4/22电气工程1.5MATLAB两种工作方式两种工作方式指令行操作方式指令行操作方式键入命令行。键入命令行。执行执行M文件方式文件方式键入程序名。键入程序名。1.4 MATLAB常用命令常用命令2023/4/22电气工程第二章第二章 MATLAB 基本语法基本语法第二章第二章 数数组及矩阵运算组及矩阵运算2023/4/22电气工程l任任何何MATLAB的的语语句句的的执执行行结结果果都都可可以以在在屏屏幕幕上上显显示示,同同时时赋赋值值给给指指定定的的变变量量,没没有有指指定定变变量量时时,赋赋值值给给一一个个特特殊殊的的变变量量ans,数数据的显示格式由据的显示格式由format命令控制。命令控制。lformat只只是是影影响响结结果果的的显显示示,不不影影响响其其计计算算与与存存储储;MATLAB总总是是以以双双字字长长浮浮点点数数(双双精度)来执行所有的运算。精度)来执行所有的运算。数的显示格式数的显示格式 2.1 数值、变量及其赋值数值、变量及其赋值2023/4/22电气工程format命令控制数的显示格式:命令控制数的显示格式: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+:正数、零、负数分别用:正数、零、负数分别用“+”、空格、空格、“-”表示表示2023/4/22电气工程常量常量MATLAB的保留常量和变量的保留常量和变量保保留留常常量量不不能能重重复复定定义义!2023/4/22电气工程MATLAB语言的标识符命名规则语言的标识符命名规则标识符:标志常量名、变量名、函数名和文件标识符:标志常量名、变量名、函数名和文件名的字符串的总称。名的字符串的总称。l标识符的合法字符是标识符的合法字符是52个英文字母(区分大小写)个英文字母(区分大小写)、10个数字和下划线;个数字和下划线;l第一个字符必须是英文字母(不能超过第一个字符必须是英文字母(不能超过63个字符)个字符);l标识符必须是不含空格的单个词;标识符必须是不含空格的单个词;2023/4/22电气工程矩阵和变量的赋值矩阵和变量的赋值l直接赋值语句直接赋值语句赋值变量表达式(或常量)赋值变量表达式(或常量)表表达达式式由由运运算算符符、函函数数、变变量量名名和和数数字字组组成成,运运算符有算符有+、-、*、/、等。等。(ex201)l函数调用语句函数调用语句返回变量列表函数名(输入变量列表)返回变量列表函数名(输入变量列表)例:例:a,b,c=my_fun(d,e,f,c)l冒号表达式冒号表达式v=s1:s2:s3其其中中s1是是起起始始值值,s2是是步步长长(若若省省略略步步长长为为1),s3是最大值。是最大值。(ex202)2023/4/22电气工程复数复数li,j为为MATLAB中中的的虚虚数数符符号号,可可以以不不用用乘乘号号,直直接连写在数字后面。接连写在数字后面。l如如果果在在程程序序中中另另外外给给i,j赋赋值值,它它们们的的虚虚数数意意义义就就失效。失效。lconj(z)命令表示对复数矩阵命令表示对复数矩阵z进行共轭变换。进行共轭变换。lZ命令表示对复数矩阵命令表示对复数矩阵z进行共轭转置变换。进行共轭转置变换。l(ex203)2023/4/22电气工程 特殊矩阵的赋值函数特殊矩阵的赋值函数linespace(a,b,N)均分向量,初均分向量,初值为值为a,终值为终值为b,元素个数,元素个数为为Nlogspace(a,b,N)向量初向量初值为值为10a,终值为终值为10b,元素个数,元素个数为为Nones(n,m)产产生生n*m阶阶全全1矩矩阵阵rand(n,m)产产生生n*m阶阶随机数矩随机数矩阵阵randn(n,m)产产生生n*m阶阶正正态态随机数矩随机数矩阵阵zeros(n,m)产产生生n*m阶阶全零矩全零矩阵阵eye(n)产产生生n*n阶单阶单位方位方阵阵(ex204)2023/4/22电气工程 2.2 矩阵的初等运算矩阵的初等运算*矩阵的加减法矩阵的加减法矩阵矩阵A和和B进行加减运算的条件是:进行加减运算的条件是:size(B)=size(B)*矩阵的乘法矩阵的乘法1)矩阵)矩阵A*B的条件是:的条件是:A的列数等于的列数等于B的行数。的行数。2)不符合交换律,即)不符合交换律,即A*BB*A(ex205)2023/4/22电气工程*矩阵的除法矩阵的除法1)左除)左除若若线线性性方方程程组组表表示示为为A*X=B,如如果果A为为非非奇奇异异方方阵阵,即即其其逆逆阵阵存存在在,则则方方程程组组的的解解用用MATLAB表示为:表示为:X=inv(A)*B或或X=AB符号符号“”称为左除。称为左除。2)右除)右除若若线线性性方方程程组组表表示示为为X*C=D,如如果果C为为非非奇奇异异方方阵阵,即即其其逆逆阵阵存存在在,则则方方程程组组的的解解用用MATLAB表表 示示 为为:X=D*inv(C)或或 X=D/C符号符号“/”称为右除。称为右除。2023/4/22电气工程例:求解线性方程组的解例:求解线性方程组的解 将该线性方程组表示为矩阵相乘为:将该线性方程组表示为矩阵相乘为:(ex206)2023/4/22电气工程*数组运算数组运算矩矩阵阵运运算算遵遵循循线线性性代代数数中中的的矩矩阵阵运运算算规规则则,数数组组运运算算将将矩矩阵阵按按逐逐个个元元素素分分别别进进行行运运算算。MATLAB中中几几乎所有的初等函数都适合数组运算。乎所有的初等函数都适合数组运算。运算运算矩矩阵阵数数组组运算符运算符规则规则运算符运算符规则规则乘法乘法*A*B:A的列数的列数=B的行数的行数.*同同维维数数组组幂幂方方阵阵.数数组组的的标标量量乘乘方方A.p:A对对应应元元素素的的p次次方方,结结果果和和A同同维维标标量的数量的数组组乘方乘方p.A:p的数的数组组元素次方,元素次方,结结果和果和A同同维维左除左除BA=inv(B)*A./或或.A./B=B.A右除右除/B/A=B*inv(A)(ex207)2023/4/22电气工程2.3MATLAB语言流程控制语言流程控制关系运算关系运算六种关系运算符:六种关系运算符:=,=,=运算结果是逻辑运算结果是逻辑1(真)或(真)或0(假)(假)逻辑运算逻辑运算逻辑运算符:逻辑运算符:&(与)(与),|(或)(或),(非)(非)运算结果是逻辑运算结果是逻辑1(真)或(真)或0(假)(假)逻辑关系函数:(见讲义第三章逻辑关系函数:(见讲义第三章P26)2023/4/22电气工程循环结构循环结构lfor结构结构lwhile结构结构2023/4/22电气工程(ex208)、(ex209)(ex210)、(ex211)2023/4/22电气工程 顺序结构顺序结构2023/4/22电气工程表达式表达式语句段语句段if真真假假表达式表达式语句段语句段1if真真假假语句段语句段2else2023/4/22电气工程(ex212)表达式表达式语句段语句段1if真真假假语句段语句段2elseif表达式表达式语句段语句段3真真假假else2023/4/22电气工程 开关结构开关结构2023/4/22电气工程2023/4/22电气工程l当开关表达式的值等于某表达式,执行该语句当开关表达式的值等于某表达式,执行该语句后结束该结构。后结束该结构。l程序的执行结果和各个程序的执行结果和各个case顺序无关。顺序无关。l当需要在开关表达式满足若干个表达式之一时当需要在开关表达式满足若干个表达式之一时执行某一程序段,则用单元形式执行某一程序段,则用单元形式(用大括号把(用大括号把这些表达式括起来,用逗号分隔)这些表达式括起来,用逗号分隔)lcase语句中条件不能重复,否则列在后面的条语句中条件不能重复,否则列在后面的条件将不能执行件将不能执行l(ex213)2023/4/22电气工程 其它控制语句其它控制语句1)break语句语句终终止止循循环环语语句句的的运运行行,对对于于多多层层嵌嵌套套循循环环结结构构,break只能终止最里层的循环。只能终止最里层的循环。2)return语句语句中断当前函数运行返回调用处。中断当前函数运行返回调用处。3)pause语句语句pause:暂暂停停程程序序运运行行,如如果果敲敲击击键键盘盘,程程序序继继续运行;续运行;pause(n):暂停暂停n秒;秒;pauseon:该语句后的:该语句后的pause语句有效;语句有效;pauseoff:该语句后的:该语句后的pause语句无效;语句无效;2023/4/22电气工程例:用循环求解使不等式例:用循环求解使不等式成立的最小的成立的最小的m。(ex214)2023/4/22电气工程M文件文件lM文件分类文件分类命令式文件命令式文件Scriptfile函数式文件函数式文件Functionfile2.4 M文件及程序调试文件及程序调试2023/4/22电气工程l函数式文件的构成函数式文件的构成1)function定义行:定义行:function输出参量输出参量=函数名函数名(输入参量输入参量)2)函数体:实现函数的功能。)函数体:实现函数的功能。3)函数说明。)函数说明。l函数式文件的特点函数式文件的特点1)输入、输出参量是用来进行变量传递的,可以有)输入、输出参量是用来进行变量传递的,可以有多个。多个。2)程序中的变量均为局部变量,不保存在工作空间)程序中的变量均为局部变量,不保存在工作空间中,除非用中,除非用global声明为全局变量。声明为全局变量。3)文件名必须与函数名相同。)文件名必须与函数名相同。(ex215)2023/4/22电气工程分分析析:本本题题中中,需需要要在在R1=1k,R1=10k,R1=20k时时分分别别计计算算Uc(t)值值,可可编编写写一一个个函函数数实实现现的的计计算算,传传递递参参数是数是R1、C1、t,t是初始化后的数组,返回值是初始化后的数组,返回值Uc。2023/4/22电气工程解:解:(1)编写函数编写函数CalUcfunctionUc=CalUc(R1,C1,t)tao=R1*C1;%计算时间常数计算时间常数Uc=20*(1-exp(-t./tao);%返回曲线值返回曲线值将上述语句存为文件将上述语句存为文件CalUc.m。(2)编写主程序编写主程序t=0:0.001:0.04;%t初始化初始化Uc1=CalUc(1000,1e-6,t);%调用调用CalUc函数计函数计算算R=1k时的函数值时的函数值Uc10=CalUc(10000,1e-6,t);Uc20=CalUc(20000,1e-6,t);plot(t,Uc1,t,Uc10,t,Uc20);2023/4/22电气工程运行结果图2023/4/22电气工程l两类文件的区别两类文件的区别 1)命令式文件没有输入输出参量,函数式文件有;)命令式文件没有输入输出参量,函数式文件有;2)命命令令式式文文件件运运行行中中可可以以调调用用工工作作空空间间的的数数据据,运运行行中中产产生生的的所所以以变变量量为为全全局局变变量量。函函数数式式文文件件不不能能调调用用工工作作空空间间的的数数据据,运运行行中中产产生生的的所所有有变变量量为为局部变量局部变量;3)命命令令式式文文件件可可以以直直接接运运行行,函函数数式式文文件件不不能能,只能调用。只能调用。2023/4/22电气工程M文件的调试文件的调试lMATLAB程序两种错误:语法和逻辑错误。程序两种错误:语法和逻辑错误。l文件编辑器的使用文件编辑器的使用1)用颜色区分内容;)用颜色区分内容;2)自动缩进功能,用于判断循环层次。)自动缩进功能,用于判断循环层次。l调试方法调试方法1)根据命令窗中显示的出错信息调试。)根据命令窗中显示的出错信息调试。2)通过程序编辑器提供的调试工具调试。)通过程序编辑器提供的调试工具调试。(ex216)3)取取消消语语句句后后的的“;”,使使程程序序运运行行时时在在命命令令窗窗口口显示变量的值。显示变量的值。2023/4/22电气工程2.5 MATLAB开发环境开发环境 与其它软件的接口关系与其它软件的接口关系 MATLAB的文件管理系统的文件管理系统2023/4/22电气工程与其它软件的接口关系与其它软件的接口关系l人机交互命令人机交互命令input和和keyboard(以以return退出)退出)l与磁盘操作系统关系与磁盘操作系统关系l与与word的接口的接口l与记事本的接口与记事本的接口(diary命令命令)l低层输入输出命令库低层输入输出命令库(iofun)l与与C或或FORTRAN子程序的动态链接子程序的动态链接2023/4/22电气工程 MATLAB的文件管理系统的文件管理系统l安装后的安装后的MATLAB文件系统文件系统lMATLAB中特有的文件格式中特有的文件格式1)M文件文件2)数据文件)数据文件3)可执行文件)可执行文件4)图形文件)图形文件5)模型文件、仿真文件等)模型文件、仿真文件等l文件管理和搜索路径文件管理和搜索路径1)MATLAB管理的文件范围是由它的搜索路径来管理的文件范围是由它的搜索路径来确定的。确定的。2)程序文件夹设定在)程序文件夹设定在“搜索路径搜索路径”下的方法。下的方法。2023/4/22电气工程第四章第四章 数数值计算值计算2023/4/22电气工程4.1多多项式运算项式运算多项式的表示法多项式的表示法多项式:多项式:P=an,an-1,.,a1,a0多多项项式的式的显显示:示:poly2sym(p);poly2str(p,x);多多项项式的乘法和除法式的乘法和除法(conv()、deconv()c=conv(a,b);q,r=deconv(c,b);多多项项式求根式求根(roots()已知多已知多项项式的根,式的根,创创建多建多项项式式(poly()r=roots(p);%返回向量返回向量r为为一列向量一列向量p=poly(r1);2023/4/22电气工程求多求多项项式的式的值值(polyval()y=polyval(p,x);%x、y为为矩矩阵阵、向量、向量、标标量。量。y=polyvalm(p,x);%x必必须为须为方方阵阵。多多项项式展开式展开(residue()将分式多项式转换成部分分式。在电路的复频域分析中将将分式多项式转换成部分分式。在电路的复频域分析中将复杂的传递函数转换成简单的传递函数之和。复杂的传递函数转换成简单的传递函数之和。r,p,k=residue(b,a)b,a=residue(r,p,k)多多项项式式求导求导(polyder()y=polyder(p);2023/4/22电气工程多多项项式式拟合拟合(polyfit()p=polyfit(x,y,n);%x、y为为数数据据向向量量,p为为多多项项式式系系数数向向量量,n为为多多项项式式阶次。阶次。一元插一元插值值(interp1()yi=interp1(x,y,xi,method);%计计算算xi对应的函数值对应的函数值yi,x、y为为数据数据向量向量。method插值方法有:插值方法有:linear:线性插值;:线性插值;cubic:三次多项式插值;三次多项式插值;nearest:最近点插值;:最近点插值;spline:三次样条插值。:三次样条插值。4.2数值分析数值分析2023/4/22电气工程数数值积值积分分(trapz()、quad()、quad8()l梯形法:梯形法:z=trapz(y);%近近似似求求解解y的的积积分分近近似似值值。y为为被被积函数值,点距为积函数值,点距为1;z=trapz(x,y);%近近似似求求解解y对对x的的积积分分值值,x、y必必须是相同维数的向量。须是相同维数的向量。l辛普生法辛普生法:z=quad(fun,a,b);%计计算算函函数数fun在在a,b区区间间的的相相对对误误差差为为1.e-6的的积积分分近近似似值值,函函数数fun必必须须返返回回一个在一个在x上的函数值向量。上的函数值向量。z=quad(fun,a,b,tol);%与与上上相相同同,tol用用以以指指定定误差容度。误差容度。l牛顿牛顿-科特斯科特斯法法:quad8调用格式和调用格式和quad方式相同方式相同。2023/4/22电气工程数数值值微分微分(利用求差分的函数利用求差分的函数diff()实现实现)l差分计算差分计算Y=diff(X);%用以计算数组中的差分。用以计算数组中的差分。X=X(1),X(2),.,X(n),Y=X(2)-X(1),X(3)-X(2),.,X(n)-X(n-1)l微分计算:微分计算:设函数设函数y=f(x),可近似表示为:可近似表示为:因此,可以用因此,可以用diff(y)./diff(x)近似计算函数的微分。近似计算函数的微分。2023/4/22电气工程常微分方程常微分方程(ODE)的数值解的数值解l高阶常微分方程高阶常微分方程的表示形式:的表示形式:l求解方法:求解方法:将高阶常微分方程转化为一阶常微分方程组。将高阶常微分方程转化为一阶常微分方程组。,2023/4/22电气工程l函数调用格式(函数调用格式(7个函数调用格式完全一样)个函数调用格式完全一样)T,Y=ode45(odefun,tspan,y0)%odefun代代表表显显式式ODE方方程程组组y=f(t,y),t为为标标量量,y和和y为为同同长长度度的的列列向向量量。Tspan可可以以是是区区间间t0,tf,也也可可以以是是t0,t1,tf,函函数数返返回回指指定定时时间间t0,t1,t2,上上的的解解。y0是是初初始始条条件件,是是与与y同同长长度度的的列列向向量量。解解矩矩阵阵Y中中的的每每一一行行对对应应于于返返回回的的时时间间列列向向量量T中中的的一一个个时时间间点点。T,Y=ode45(odefun,tspan,y0,options)%options用用于于设设定定微微分分方方程程解解法法器器的的参参数数(用用函函数数odeset()生成)。生成)。T,Y=ode45(odefun,tspan,y0,options,p1,p2)2023/4/22电气工程函数最小值函数最小值(fminbnd()、fminsearch()lfminbnd:单变量非线性函数局部最小值函数:单变量非线性函数局部最小值函数 x=fminbnd(FUN,x1,x2)x=fminbnd(FUN,x1,x2,options)x=fminbnd(FUN,x1,x2,options,p1,p2,)%返回值返回值x是是FUN函数在函数在(x1,x2)上的局部最小值,上的局部最小值,FUN为单值非线性函数。为单值非线性函数。options用来控制算法的用来控制算法的参数设置。参数设置。lfminsearch为多变量无束缚非线性局部最小值函数,为多变量无束缚非线性局部最小值函数,调用格式调用格式 与上一致。2023/4/22电气工程函数零点函数零点(fzero()xzero=fzero(FUN,x0)xzero=fzero(FUN,x0,tol,trace)%FUN:待求零点的函数;:待求零点的函数;x0:搜索零点的初始:搜索零点的初始值;值;tol:搜索相对精度;:搜索相对精度;trace:指定迭代信息是:指定迭代信息是否显示,默认为否显示,默认为0,表示不显示迭代信息。,表示不显示迭代信息。2023/4/22电气工程第五章第五章 符号运算符号运算2023/4/22电气工程5.1 符号对象和符号表达式符号对象和符号表达式符号对象符号对象定义基本的符号对象定义基本的符号对象(常数、变量、表达式常数、变量、表达式)f=sym(arg);%把数值、字符串或表达式把数值、字符串或表达式arg转换为符号对象转换为符号对象f=sym(arg,flagn);%把数值或数值表达式把数值或数值表达式arg转转换为换为flagn格式的符号对象。格式的符号对象。falgn可设定为:可设定为:d:采:采用最接近的十进制精确表示;用最接近的十进制精确表示;d:采用最接近的有:采用最接近的有理表示,缺省设置。理表示,缺省设置。syms(arg1,arg2);%把字符把字符arg1,arg2定义为定义为基本符号对象基本符号对象symsarg1,arg2;2023/4/22电气工程符号表达式和符号函数的操作符号表达式和符号函数的操作l符号表达式的化简符号表达式的化简collect():合并同幂项:合并同幂项simplify():利用代数上的函数规则对表达式进行化简:利用代数上的函数规则对表达式进行化简simple():以尽可能的办法将表达式再做化简,目的是:以尽可能的办法将表达式再做化简,目的是使表达式以最少的字表示出来。使表达式以最少的字表示出来。horner():对多项式进行嵌套型分解。:对多项式进行嵌套型分解。2023/4/22电气工程l符号函数的求反和复合符号函数的求反和复合g=finervse(f):符号函数:符号函数f和和g满足:满足:g(f(x)=xg=finervse(f,v):符号函数:符号函数g的自变量为的自变量为v,满足,满足g(f(x)=vg1=compose(f,g):返回:返回f=f(x)和和g=g(y)时的复合函数时的复合函数f=f(g(y)g1=compose(f,g,z):返回复合函数:返回复合函数f=f(g(z)g1=compose(f,g,x,z):返返回回复复合合函函数数f=f(g(z),x是是f的的独独立立变量变量g1=compose(f,g,x,y,z):返返回回复复合合函函数数f=f(g(z),x是是f的的独独立立变量,变量,y是是g的独立变量的独立变量2023/4/22电气工程l符号微积分符号微积分g=int(f):