最新数学建模案例分析MATLAB在电气工程中的应用..ppt
2023/5/2,1,MATLAB在电气工程中的应用,庞譬剔榨铣窗崩潍娠拍屋勒慌慈谎霄旬煤笆矣炬鞍馋思诸晴赔吊础峡乓位数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,2,MATLAB简介,对一般的计算语言来说,必须采用两层循环才能得到结果:var i,j:integer;/用pascal语言x,y:array 0.10 of array 0.20 of real;const m=10;n=20;begin for i:=1 to m do for j:=1 to n do yij:=exp(xij)*sin(xij);end;MATLAB只用一条指令:y=exp(-2*x).*sin(5*x)。,例:已知x是(nm)维数组,计算:,看锦盐吵帧保晒门孙滤榨凯柏丁视邦咒勿齐廖湍弦湿厚钠赦晨玖汛痈僵派数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,3,MATLAB简介,例:对于求解代数方程问题:,当A的列数大于行数时,有无数解。MATLAB只用一条指令:x=Ab。,当A是标量时:,当A是非奇异矩阵时:,当A是行数大于列数的满秩阵时,称超定方程组或矛盾方程组:,撞馋幂絮奎驮厚脉浇酶跃洼救懊猿盾蚜盘绷掘清吉庆颤忘裕燃裴氯脓伤撞数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,4,MATLAB简介,在MATLAB中仅用以下指令:ezsurf(y/(1+x2+y2),例:绘制二元函数曲面:,些跳健引哲时宗敝兢声涵痹叙摆薪弓同幌钞叔厨滁闪隧钧特肖葬脖次追奋数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,5,MATLAB简介,MATLAB是专门为科学计算而设计的,具有强大数据图示功能的工具软件。语法结构简明、数值计算高效、图形功能完备、易学易用。在矩阵代数、数值计算、数字信号处理、震动理论、神经网络控制、动态仿真、建模、系统识别、控制系统、非线性系统、模糊控制、优化技术、通讯系统、财政金融等领域有着广泛应用。,恳馏驹么旷蚜宝蕴洞癸禽尖肛瘤卑宛嗡篇造骂醚拂分伞狠疥傲茬稿疏醋抖数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,6,教学内容,第一章 MATLAB基础第二章 MATLAB基本语法第三章 数组及矩阵运算第四章 数值计算第五章 符号运算第六章 MATLAB计算结果可视化第七章 MATLAB在系统仿真中的应用第八章 MATLAB在信号处理中的应用,丁秦庙屏腿晶缕能丈势邀星宽硬碘条军纬抓乃除辟坐柬工朽砧砍繁粪悦甫数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,7,通过本课程学习,使学生掌握利用MATLAB进行数值计算的基本方法,熟悉MATLAB编程环境、语言语法、程序结构、编程及调试技术,掌握MATLAB中M文件、M函数编写方法及调试技术、MATLAB的绘图和图形控制函数等内容,上机练习MATLAB数值解算方法,具备上机操作的技能,学习MATLAB在电气工程学科中的建模与分析方法,为后续专业课程学习奠定基础。,课程任务,烫掏删甚沾捡缘寥抹蜘樱重侵办绎配锡有侯拂亏五烈胡完讹垃多铆应火暴数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,8,考试形式,考试方式:1、平时成绩(出勤率+课堂习题报告)2、考试,守躇进垛婴厅环郸沪波梳嫁械艾宅仍肄柴晾身忍彰莱拦纂畏消例菏但预侮数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,9,MATLAB的发展历程,MATLAB 是Matrix Laboratory的缩写。20世纪70年代由 Cleve Moler博士用FORTRAN语言开发了最初版本的矩阵分析软件。80 年代初期,由 Moler、John Little和Steve Bangert采用 C 语言改写了 MATLAB 的内核。并于1984 年成立了 Mathworks 软件开发公司,将 MATLAB 正式推向市场。1988年推出了MATLAB 3.1(DOS)版本。1993年,推出了应用于 Windows 操作系统的 MATLAB 4.0 版本。1996年12月,推出MATLAB 5.0 版本(Release 8)。1997年5月,推出 MATLAB 5.1 版本(Release 9)。1998年3月,推出 MATLAB 5.2 版本(Release 10)。1999年11月,推出 MATLAB 5.3 版本(Release 11)。2000年11月,推出 MATLAB 6.0 版本(Release 12)。2001年6月,推出 MATLAB 6.1 版本(Release 12.1)。2002年7月,推出 MATLAB 6.5 版本(Release 13)。,怜驰坊塞粮麓往冠戌旦灸析恭恰秆迂贪蘸搓层轨杏拇箍秆话余昆坎凯粟析数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,10,MATLAB的发展历程,2004 年6月,推出 MATLAB 7.0 版本(Release 14)。2004 年11月,推出 MATLAB 7.0.1 版本(Release 14SP1)。2005 年3月,推出 MATLAB 7.0.4 版本(Release 14SP2)。2005 年9月,推出 MATLAB 7.1 版本(Release 14SP3)。2006 年3月,推出 MATLAB 7.2 版本(Release 2006a)。2006 年9月,推出 MATLAB 7.3 版本(Release 2006b)。2007 年3月,推出 MATLAB 7.4 版本(Release 2007a)。2007 年9月,推出 MATLAB 7.5 版本(Release 2007b)。2008 年3月,推出 MATLAB 7.6 版本(Release 2008a)。2008 年10月,推出 MATLAB 7.7 版本(Release 2008b)。2009 年3月,推出 MATLAB 7.8 版本(Release 2009a)。2009 年9月,推出 MATLAB 7.9 版本(Release 2009b)。2010 年3月,推出 MATLAB 7.10 版本(Release 2010a)。,津淖胞膜松以品浚压镶稿耍汪喻励佰馋份宿挤肮绿序卯狭簧笑粟肺勋沧设数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,11,MATLAB的主要特点,MATLAB 的基本单位为矩阵。MATLAB 语言以解释方式工作。具有非常友好的人机界面。具有强大的作图和数据可视化功能.智能化程度高。具有极强的可扩展性。,婪棉辫奖照他旱阁跨郸勺玄钢碌写渡射仓撅常艾母惧菌蝴炭林达列镣猾惧数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,12,第一章 MATLAB 基础,抗接掇恼色毖痴上感振灭爪堑凋累亡伍耀宽羡炉死炮误淫弘缎褂还怔能叮数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,13,1.1 MATLAB的基本组成,MATLAB软件主要由主包、Simulink 动态系统仿真和工具箱(Toolbox)三大部分组成。*主包包括了 MATLAB 语言、数学函数库、工作环境、图形处理系统和应用程序接口五部分。*Simulink是用于系统仿真的交互式图形系统,是MATLAB非常重要的共生产品。,凯谓艘称炭坷遁琵鹿资均透趴循语搭稗智宜妨疡诧歹寇旺酶舍噬肯蚊他捏数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,14,*Toolbox实际是用MATLAB的基本语句编成的开放式各种子程序集,用于解决各专业领域的特定问题,例如:控制系统、信号处理、图像处理、模糊集合、神经网络、小波分析等。*MATLAB编译器,可以将M文件转化为C或C+语言代码,增强了MATLAB灵活性。,怪夹双怠齿尚阴弟殖亏攫房耙奥隧鼠讲仍球折型二碑葡经老瀑拍傀陌抽焦数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,15,1.2 MATLAB系统界面,MATLAB 的启动 桌面快捷方式启动 开始菜单方式启动MATLAB的退出 Matlab菜单命令/关闭按钮 在Matlab命令窗口输入exit或quit,卒夺回波洪丑瞬或忠霸腊兼史蹲娟摩钓凹烛搁晨闺霓舜誊纷伍翌率饱镣涛数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,16,MATLAB 的用户界面窗口,Command windowWorkspaceHistory command windowCurrent directoryLaunch padM-FileFigureModelGUI,氦烷洱萤级篓匝埂批义蛆荒膊岩寻劫辱盘狰辨酮河缄曾福耐三泳温听得函数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,17,域掳族弛袁姿绥埠祸柬黍棕叶讨甫悄勋墒煎质挣莆叭伞凰朔鄙茫茵肩残狂数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,18,刨芍篡照煮诣夹仁倾昏玖角融仆脸渴拟掌夕愚沫话奇堂格堵杠貌旱中餐电数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,19,MATLAB命令窗口,MATLAB语句形式变量表达式;当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则需在语句之后加上分号。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。方向键可以编辑修改已输入的命令:调出上一行语句;:调出下一行语句;,蒙黑频试熊憾舶洋哟褐堡贵歌嫡撑扦坝谁锚小汾抛竟氮鲸锐刚趟概离唱氯数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,20,多行命令()如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。例如:S=1-12+13+4+9-4-18;等价于:S=1-12+13+4+9-4-18;,命令窗口的分页输出 more off:不允许分页 more on:允许分页 more(n):指定每页输出的行数 回车键显示下一行,空格键显示下一页,q结束当前显示。,倍敢勉快扛旧幂涅嗓贰湘兴卸诈刷元冬怒壁冗遂曼坊终犹顶允杉篱谈谓茨数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,21,页面显示的疏密控制 format loose(默认):稀疏显示格式;format compact:密集显示格式;清命令窗口 clc,己耗衬裕烈箭火河荒傅殷蜂霉毯月幽拴慎爸滦飘扰崔爸陌制臭攀吃语受揣数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,22,显示所有目前内存中的MATLAB变量、数学结构、类型以及所占的空间并可进行变量的编辑等。MATLAB的workspace中的变量管理 who:显示当前工作空间中所有变量的一个简单列表;whos:显示出变量的大小、数据格式等详细信息;clear:清除工作空间中所有的变量;clear 变量名:清除指定的变量;,MATLAB工作空间,声怀仿你凿抒弘秋函午肯混拼烟僳养痹尾卷警晒旅鬼芳枝切颐谁晌绳摩苯数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,23,MATLAB的workspace中的变量保存和载入save:将工作空间的所有变量存到matlab.mat的二进制文件中。save filename:将所有变量保存到磁盘文件filename中。save filename variables:将variables所表示的变量列表保存到磁盘文件filename中。各个不同的变量之间只能用空格来分隔。load(filename)(variables):将数据文件载入MATLAB工作空间。,义虽鼻律羡船镑奇庇内崩厕役朋纺勺贡眯堤涸钳谈褐翠贼铸迫阂剩胰屹呵数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,24,MATLAB历史命令窗,MATLAB当前目录,各种历史命令输入的记载,便于随时查看和调用,通过M文件运行的命令不显示。,显示和改变当前目录,显示目录下的文件并提供搜索功能。,紫羽困日机斌软考念旨垒表渣勋蕊塔咏烘撕伙磺速颗择芍豫甥傲猫账瓜炙数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,25,helpwin 指令 在命令窗口中键入helpwin,进入帮助窗口;helpdesk 指令 在命令窗口中键入helpdesk(或doc,或点击工具条中的?按钮),进入帮助窗口,显示HTML格式的帮助内容。,1.3 MATLAB帮助系统,氦准妻确努啊稚酪昌陇暂绝槛官斤顷练铰抠积诌男帧咖是抗摈袍衰拜馈葬数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,26,help 命令 help:列出所有的帮助主题,每个帮助主题对应于 MATLAB搜索路径中的一个目录;help 库名:得到库中全部函数名;help 函数名或命令;得到函数或命令的帮助信息;lookfor 命令 如在命令窗口中键入:lookfor su,则只要有与su匹配的单词就显示出来。其收索条件比help命令宽。demo 命令 demo:可得到MATLAB及其所以工具箱中的全部演示程序。是学习MATLAB的一种很好的途径。,诺其处刺宋哺雕谆疟睁晾我蹄肆寝曲物租吝仲圾窃鸦妙炽炊病钩拢芭块婴数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,27,1.5 MATLAB两种工作方式,指令行操作方式键入命令行。执行M文件方式键入程序名。,1.4 MATLAB常用命令,袁眉曳荫噶刃未松格后帕隅顷喝手秆苍射铣诛腋板挎凉截堆宁迷圭泰稚篙数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,28,第二章 MATLAB 基本语法第二章 数组及矩阵运算,传恋汽盛允凹蒋狂尽厂库唉博茫抿胰蹦群坏膛寨颧壮俯抉忘井谷磁短蜜钮数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,29,任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。,数的显示格式,2.1 数值、变量及其赋值,瀑果奴骗坚蹈躇仇优受掉蝉挡鄂卜跃戎媚止殴毁蔬剥蒋伎签拄葬爬衙者肠数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,30,format 命令控制数的显示格式:format(short)(默认):如 pi=3.1416;format long:如 pi=3.14159265358979;format rat:如 pi=355/113;format short e:如 pi=3.1416e+000;format long e:如 pi=3.141592653589793e+000;format bank:2位十进制,如 pi=3.14;format hex:如 pi=400921fb54442d18;format+:正数、零、负数分别用“+”、空格、“-”表示,享裳菱盂哑疽蛊迎选清薯惧身役帘节馁硬卷腾咙拐排颅菱镍陈傈迈臆压愤数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,31,常量,MATLAB 的保留常量和变量,保留常量不能重复定义!,叉佰你危稽会齐饭句峰势暖拂屯乍伪献渺匡孺瘴瑟插肋腾画乘班格临谆扯数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,32,MATLAB 语言的标识符命名规则 标识符:标志常量名、变量名、函数名和文件名的字符串的总称。标识符的合法字符是52个英文字母(区分大小写)、10个数字和下划线;第一个字符必须是英文字母(不能超过63个字符);标识符必须是不含空格的单个词;,斧札寂右词邪紊惩摩卫宪晨祈且溃诬狼愈讶究顽陛署蚤嘻橱喷磷白牢下川数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,33,矩阵和变量的赋值,直接赋值语句 赋值变量表达式(或常量)表达式由运算符、函数、变量名和数字组成,运算符有+、-、*、/、等。(ex201)函数调用语句 返回变量列表函数名(输入变量列表)例:a,b,c=my_fun(d,e,f,c)冒号表达式 v=s1:s2:s3 其中s1是起始值,s2是步长(若省略步长为1),s3是最大值。(ex202),税温女瑟耸钎忍输灶问诊崔准崭最拍声治吃观箭釜杜终遭躯青叼搏慷概搭数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,34,复数,i,j为MATLAB中的虚数符号,可以不用乘号,直接连写在数字后面。如果在程序中另外给i,j赋值,它们的虚数意义就失效。conj(z)命令表示对复数矩阵z进行共轭变换。Z命令表示对复数矩阵z进行共轭转置变换。(ex203),缘肋牟擅黔碟取呢侥郊蛔嚣蝎咙二厉优辐纸蹭泊咎撇甫入禹表趴镣移芜纲数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,35,特殊矩阵的赋值函数,(ex204),檀扯兄桑杰供妇扣用灸促应因孟赁峙伴瘟逮工厄萌鞘船撤呐碱毛舰均箔青数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,36,2.2 矩阵的初等运算,*矩阵的加减法 矩阵A和B进行加减运算的条件是:size(B)=size(B),*矩阵的乘法 1)矩阵A*B的条件是:A的列数等于B的行数。2)不符合交换律,即A*BB*A(ex205),曙呈匹聂纯阜刺律蚊赖抵巢狠皑山证豁顽距疲腾糊裙最霹枫堂莫王恩鄙侯数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,37,*矩阵的除法 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 符号“/”称为右除。,颈纸啼波信糜吉啤十赔垂谨惠疤幂盎舅墒坚额耀涌隐陷桨后又泰绚唉藤前数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,38,例:求解线性方程组的解 将该线性方程组表示为矩阵相乘为:,(ex206),看否卢厅走玄尽苯衣道粳筷陀呛施春佩者轩返录映毋宛奏嘎路虾衅带纳霍数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,39,*数组运算,矩阵运算遵循线性代数中的矩阵运算规则,数组运算将矩阵按逐个元素分别进行运算。MATLAB中几乎所有的初等函数都适合数组运算。,(ex207),窃萝材闽拂舀钩保戌机隅屑者亚逊摔住谴邯乌附吩夸臂咯甸盗梆桶饲浓躇数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,40,2.3 MATLAB语言流程控制,关系运算 六种关系运算符:=,=,=运算结果是逻辑1(真)或0(假)逻辑运算 逻辑运算符:&(与),|(或),(非)运算结果是逻辑1(真)或0(假)逻辑关系函数:(见讲义第三章P26),革扯琼吴总妥枪缘鹊辨戴愚卒漏缆钞阜皆身闭忌衔壬和雇暇擦薪丈桂结慧数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,41,循环结构for 结构while 结构,秦玖漳庆诽泪登闭摸样氰瞅溃瘸遣杠当英谗膨尹地原酚窟玖蚜鳖奈睁掀浮数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,42,(ex208)、(ex209),(ex210)、(ex211),闺汽模弥慢操上蘸学绪洋想郸淖棕惩苇江堑奥蛾玉皇贰呸层墙睹卒阉啮穷数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,43,顺序结构,淤严俄塑笔庭佐尼蚁崩婆铀贮殿恐压甫粥肉忆质石片喀巩牵腋盒膛挪蓑刮数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,44,任样诛嘲删粳体燥迁聘组葵咸值哆豹繁脓皇橙采空赢晓勉琴箕碾丑敌因褒数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,45,(ex212),还杂凤暖庄吩溜草他退采写淑智蛔挪榔慧阜修端拳喧竟邢婿翟责落疑耶仪数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,46,开关结构,取担扑潦定悔羞冷裤请诬彬蒙缎磕息谴撵牙搪才围航膘籍帛纽升止努圾查数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,47,缓辟蒂婴锥湍狱缺缆范架乱朴阎献伯箭晓喝输孩毒胶逮拭跳皖凛邢壁慰谷数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,48,当开关表达式的值等于某表达式,执行该语句后结束该结构。程序的执行结果和各个case顺序无关。当需要在开关表达式满足若干个表达式之一时执行某一程序段,则用单元形式(用大括号把这些表达式括起来,用逗号分隔)case 语句中条件不能重复,否则列在后面的条件将不能执行(ex213),蹲掺汾札烫纸冒芳榴陨噎老女逢骏著捂电傅肖骆购耶盾肩扶理匹氛茎镰冗数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,49,其它控制语句,1)break语句 终止循环语句的运行,对于多层嵌套循环结构,break只能终止最里层的循环。2)return语句 中断当前函数运行返回调用处。3)pause语句 pause:暂停程序运行,如果敲击键盘,程序继续运行;pause(n):暂停n秒;pause on:该语句后的pause语句有效;pause off:该语句后的pause语句无效;,膜沛笔泊斌脂袁膳滓萝姚批珐七诣壤抵雾热闰它乙咽郸喳搀庶兴淖迄移净数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,50,例:用循环求解使不等式成立的最小的 m。(ex214),狠拙绢险遮蒸服村昭昔随拾慰迹疫坠戎捍蚂台沸榨蚌貉嘛琢商且猪疲砰毯数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,51,M文件,M文件分类 命令式文件Script file 函数式文件Function file,2.4 M文件及程序调试,揉痕亡寒朽滩雄雕搽脾塑砂租馆灌魄修谅邵险起泣推塘虽宙羔驱豹伞售袁数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,52,函数式文件的构成 1)function定义行:function输出参量=函数名(输入参量)2)函数体:实现函数的功能。3)函数说明。函数式文件的特点 1)输入、输出参量是用来进行变量传递的,可以有多个。2)程序中的变量均为局部变量,不保存在工作空间中,除非用global声明为全局变量。3)文件名必须与函数名相同。,(ex215),唇刊逢杆褒嘛尺雷磅盅皖帆彩荚族御丈焉爸掉男潭硅耘甩祖逝拷春寸眠路数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,53,分析:本题中,需要在R1=1k,R1=10k,R1=20k时分别计算Uc(t)值,可编写一个函数实现的计算,传递参数是R1、C1、t,t是初始化后的数组,返回值Uc。,逞虞旋剖通暗雏蛹坯吟汐徽痹兼缕鲤蔽典液柒迷弊勘腐快刚杏慢估裙暑桌数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,54,解:(1)编写函数CalUc function Uc=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);,拾粉询篮景炼炽恶奖睫否毙隘糜示编青缘自挤岿杠捶右剁韵镁鹅脆揉属去数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,55,运行结果图,电是销诣血焊是筷胡诀坑饭莫淳宗菩蒋寐窍偷盈赡宾碘豁冷拟授婆俞言洗数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,56,两类文件的区别 1)命令式文件没有输入输出参量,函数式文件有;2)命令式文件运行中可以调用工作空间的数据,运行中产生的所以变量为全局变量。函数式文件不能调用工作空间的数据,运行中产生的所有变量为局部变量;3)命令式文件可以直接运行,函数式文件不能,只能调用。,砰韵裕疯腐狈禹岗智鞍葛踪聂铣去纠渴鸦宗虾冗寐嗜嚏坊褪内邹霞驻埂侗数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,57,M文件的调试,MATLAB程序两种错误:语法和逻辑错误。文件编辑器的使用 1)用颜色区分内容;2)自动缩进功能,用于判断循环层次。调试方法 1)根据命令窗中显示的出错信息调试。2)通过程序编辑器提供的调试工具调试。(ex216)3)取消语句后的“;”,使程序运行时在命令窗口显示变量的值。,镶宜佐冉设耪杰蜘顶翱鉴需镰免舒壁目汽乒畏噬需采疆荐也纂荫营梆流婶数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,58,2.5 MATLAB开发环境,与其它软件的接口关系 MATLAB的文件管理系统,贴玻病捧婚属触刷下剧茵冗裸菜瑚墟削杯揪尘钧缘饵宛俐波捧绑寂坡炸陕数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,59,与其它软件的接口关系,人机交互命令input和keyboard(以return退出)与磁盘操作系统关系与word的接口与记事本的接口(diary 命令)低层输入输出命令库(iofun)与C或FORTRAN子程序的动态链接,著闯罢赏害旷掌奈侄惫义敷影旋五考荚悍矣佯咀形默狰莹裤迸梅投硷无逃数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,60,MATLAB的文件管理系统,安装后的MATLAB文件系统MATLAB中特有的文件格式 1)M文件 2)数据文件 3)可执行文件 4)图形文件 5)模型文件、仿真文件等文件管理和搜索路径 1)MATLAB管理的文件范围是由它的搜索路径来确定的。2)程序文件夹设定在“搜索路径”下的方法。,拴桥倒缮砍约糟鹃贵赤竭葫并能埂斥一猩庞宪满斤鲁饯乙球匹发演极牺访数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,61,第四章 数值计算,创淋峪光程概饺麦送毋蓝淀畴酋膏宜嘻凸吴爹霍溪鸯饲匪良刮煮弛弄嚼萌数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,62,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);,情赡顺逮巾酪沥缀床惕棺富榜矾丹鳃缆摩方听缴稚采沥珊桩儒盯屏撅胞壹数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,63,求多项式的值(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);,柑穿砒搭骆李申钢廉捏菜结肺妙阵帜沁纲祭拟动唆涣筷惦莉咙圭凳豫粱迂数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,64,多项式拟合(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 数值分析,违果期憨深条问匡充谁陋召镣麦撂后憨垂慈敢趴岗豪走拨珍氰脆窜农杜什数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,65,数值积分(trapz()、quad()、quad8()梯形法:z=trapz(y);%近似求解y的积分近似值。y为被积函数值,点距为1;z=trapz(x,y);%近似求解y对x的积分值,x、y必须是相同维数的向量。辛普生法:z=quad(fun,a,b);%计算函数fun在a,b区间的相对误差为1.e-6的积分近似值,函数fun必须返回一个在x上的函数值向量。z=quad(fun,a,b,tol);%与上相同,tol用以指定误差容度。牛顿-科特斯法:quad8调用格式和quad方式相同。,骑舍浆袜冒钱涌京描忻脑恍质锻迎慨胜踩碳绝胶股饵祥凰桥苹盛努挑止下数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,66,数值微分(利用求差分的函数diff()实现)差分计算 Y=diff(X);%用以计算数组中的差分。X=X(1),X(2),.,X(n),Y=X(2)-X(1),X(3)-X(2),.,X(n)-X(n-1)微分计算:设函数y=f(x),可近似表示为:因此,可以用diff(y)./diff(x)近似计算函数的微分。,纤灭壶砍矿备捡浸赡肥琵颇兢易窍支抿射铭穆财搬谷酸香关沉徐营露岔弱数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,67,常微分方程(ODE)的数值解高阶常微分方程 的表示形式:求解方法:将高阶常微分方程转化为一阶常微分方程组。,,,渣嗡港拟宇经罪碟奖向耗赚拆雅煤桓汐魏矢炉赣谈纵小忠郁版稍踪棵犀纲数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,68,函数调用格式(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),努津打华誊抒叔赌帮利科攻露唬要鲸将恬晋营龟放缠庸芒晋谈府咏眶枪冠数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,69,函数最小值(fminbnd()、fminsearch()fminbnd:单变量非线性函数局部最小值函数 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用来控制算法的参数设置。fminsearch为多变量无束缚非线性局部最小值函数,调用格式 与上一致。,贺吭凹抱站唾格籽剑起吻卡又郑啤劈胖次爬共只芭内眨捡旁唐荫附伤饥镍数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应用,2023/5/2,70,函数零点(fzero()xzero=fzero(FUN,x0)xzero=fzero(FUN,x0,tol,trace)%FUN:待求零点的函数;x0:搜索零点的初始值;tol:搜索相对精度;trace:指定迭代信息是否显示,默认为0,表示不显示迭代信息。,翔草拖座厦姨魁萍声蹄曼寒坦悍岁寅熄辱呕伙以瘟排露吐心茧马明胀哥肌数学建模案例分析-MATLAB在电气工程中的应用数学建模案例分析-MATLAB在电气工程中的应