![MATLAB建模与仿真应用教程第3版课件_第1页](http://file4.renrendoc.com/view/0cf347119971860da39295cdbf655890/0cf347119971860da39295cdbf6558901.gif)
![MATLAB建模与仿真应用教程第3版课件_第2页](http://file4.renrendoc.com/view/0cf347119971860da39295cdbf655890/0cf347119971860da39295cdbf6558902.gif)
![MATLAB建模与仿真应用教程第3版课件_第3页](http://file4.renrendoc.com/view/0cf347119971860da39295cdbf655890/0cf347119971860da39295cdbf6558903.gif)
![MATLAB建模与仿真应用教程第3版课件_第4页](http://file4.renrendoc.com/view/0cf347119971860da39295cdbf655890/0cf347119971860da39295cdbf6558904.gif)
![MATLAB建模与仿真应用教程第3版课件_第5页](http://file4.renrendoc.com/view/0cf347119971860da39295cdbf655890/0cf347119971860da39295cdbf6558905.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB
建模与仿真应用教程第3版普通高等教育系列教材刘德胜赵魁陈晓伟等编著MATLAB建模与仿真应用教程5.1M文件5.2MATLAB的程序结构5.3图形用户界面GUI的设计5.4MATLAB程序设计的基本原则5.5
MATLAB程序设计实例第5章MATLAB的程序设计MATLAB作为一种计算机高级语言,用户不但可以方便的在命令窗口中,以命令行的方式完成交互式操作,而且可以像其他计算机高级语言一样,具有条件选择语句、循环控制语句和图形用户界面(GUI)设计的能力,可以用来开发各种计算机程序。注:MATLAB是一种解释型语言。第5章MATLAB的程序设计5.1M文件5.1.1M文件基础由MATLAB的命令、条件选择语句、循环控制语句和函数构成的文本文件,以*.m为扩展名。M文件的创建:1)在命令行窗口中直接输入“edit”
命令;
2)单击工具栏中的按钮;
3)主页新建脚本或函数命令。2.M文件的打开:1)在命令行窗口中直接输入“edit+M文件名”;
2)单击工具栏中的按钮;3)主页打开命令。5.1M文件5.1.2命令文件与函数文件1.命令文件也称为批处理文件,由一系列的命令或函数组成,也可以包括条件选择语句和循环控制语句。和命令窗口相似,程序将按从上到下的顺序逐行执行,新创建的变量将保存在工作空间中,也可以调用工作空间中已有的变量。命令文件结束后,这些变量仍然保存在工作控件中。命令文件不接受输入参数,也没有输出参数,只需要在命令窗口中输入“M文件名”即可运行。编写完成命令语句之后,点击工具栏中的“”图标,执行命令文件。5.1M文件5.1.2命令文件与函数文件2.函数文件函数文件是以function语句开始,以end结束的M文件,可以接受输入参数并返回输出参数,将根据输入参数的不同而完成一定的功能。用户可以根据需要编制自己的函数文件,扩充MATLAB的功能。函数文件的定义格式:function[输出变量矩阵]=函数名(输入变量矩阵)%帮助文本的第一行,总体上说明函数名和函数的功能%帮助文本,详细介绍函数的功能和用法函数的程序代码 %适当的注释end5.1M文件5.1.2命令文件与函数文件2.函数文件【例5-2】已知一元二次方程
,试编写程序,分别计算x=1,x=2,x=3时的值。新建一个M函数文件,函数名为m5_2,输入如下的命令语句,以m5_2.m为文件名保存文件。function[y]=m5_2(x)%UNTITLED2Summaryofthisfunctiongoeshere%Detailedexplanationgoesherey=2*x^2+5*x+10;end编写完成命令语句之后,在命令窗口中调用m5_2函数>>x1=1;>>y1=m5_2(x1)>>y1y1=
175.1M文件5.1.2命令文件与函数文件3.子函数和其它高级语言一样,在MATLAB中也可以定义子函数。所谓子函数,就是在同一个M文件中,第一个function所定义的函数为主函数,其它的函数就是子函数。子函数只能在所在的M文件中被调用。局部函数是指编译过的M文件存储在MATLAB下的private目录下的函数。与子函数不同的是,局部函数可以被private目录下的任意函数所调用。5.2MATLAB的程序结构5.2.1条件选择语句MATLAB中没有表示“真和假”的布尔量,系统将根据逻辑运算式的值是否为零来判断,如果逻辑运算式的值不为零,则认为是“真”,执行if的程序代码;否则将跳过if结构。1.if–end
语句if逻辑运算式
程序代码end2.if–else–end
语句if逻辑运算式1
程序代码1else
程序代码2end5.2MATLAB的程序结构5.2.1条件选择语句3.if–elseif–end
语句if逻辑运算式1
程序代码1Elseif逻辑运算式2
程序代码2……Elseif逻辑运算式n
程序代码nelse
程序代码n+1end4.switch–case–end
语句switch开关表达式case表达式1
程序代码1case表达式2
程序代码2……case表达式n
程序代码notherwise
程序代码n+1end5.2MATLAB的程序结构5.2.2循环控制语句1.for–end循环for循环次数变量=Initial:Increment:FinalValue
程序代码endfunction[m,sum]=m5_5(n)sum=0;m=1;form=1:n
sum=sum+m;
m=m+1;endm=m-1;end在命令窗口中输入:>>n=100;>>[n,sum]=m5_5(n)n=100sum=50505.2MATLAB的程序结构5.2.2循环控制语句2.while–end循环while条件表达式
程序代码段endfunction[sum]=m5_7(n)
sum=0;m=1;whilem<=n
sum=sum+m;
m=m+1;endend在命令窗口中输入:>>n=100;>>sum=m5_7(n)sum=50505.2MATLAB的程序结构5.2.3错误控制与循环终止1.try–catch语句try
程序代码1catch
程序代码2end首先执行try下面的程序代码1,如果没有错误,执行完成后跳出结构,执行end后面的程序;如果执行程序代码1的过程中出现错误,系统将捕获错误信息,存放在lasterr变量中,然后执行程序代码2。try-catch语句在调试程序非常有用。5.2MATLAB的程序结构5.2.3错误控制与循环终止2.continue语句continue语句用在for循环或while循环结构中,与if语句相配合,用于跳过本次循环,即跳过continue语句后面的语句,直接进行下一次循环。在多层嵌套的循环结构中,continue语句仅跳过它所在层次的本次循环。3.break语句break语句用在for循环或while循环结构中,与if语句相配合,用于终止循环,即直接跳出循环。在多层嵌套的循环结构中,break语句仅终止它所在层次的循环。5.2MATLAB的程序结构5.2.3错误控制与循环终止4.return语句return语句用于终止函数的运行,与if语句相配合,直接返回到调用它的函数或MATLAB命令窗口。在MATLAB中,函数运行结束后会自动返回到调用它的函数,而在程序代码中某处插入return语句,将根据if条件迫使程序提前结束,并返回到调用它的函数。5.3图形用户界面GUI的设计5.3.1GUI设计向导空白GUI(BlankGUI)控制GUI(GUIwithUicontrols)图像与菜单GUI(GUIwithAxesandMenu)对话框GUI(ModelQuestionDialog)5.3图形用户界面GUI的设计5.3.2GUI控件表5-1MATLAB提供的GUI控件图标对应功能图标对应功能图标对应功能普通按钮滚动条切换按钮单选按钮复选框ActiveX控件静态文本可编辑文本面板列表框弹出式菜单选择表格坐标轴Axes坐标轴5.3图形用户界面GUI的设计5.3.3GUI设计工具1.控件布局编辑器5.3图形用户界面GUI的设计5.3.3GUI设计工具2.属性检查器3.菜单编辑器5.3图形用户界面GUI的设计5.3.3GUI设计工具4.对齐对象5.对象浏览器5.4MATLAB程序设计的基本原则1.MATLAB程序的基本组成如下:1)%命令行注释。2)采用clear、close命令清除工作空间的变量。3)定义变量,设置初始值。4)编写运算指令、调用函数或调用子程序。5)使用流程控制语句。6)直接在命令窗口中显示运算结果或者通过绘图命令显示运算结果。2.一般情况下主程序开头习惯使用clear命令清除工作空间变量,然而子程序开头不要使用clear命令。5.4MATLAB程序设计的基本原则3.程序命名尽量清晰,便于日后维护。4.初始值尽量放在程序的前面,便于更改和查看。5.如初始值较长或者较常用,可以通过编写子程序将所有的初始值进行存储,以便调用。6.对于较大的程序设计,尽量将程序分解成每个具有独立功能的子程序,然后采用主程序调用子程序的方法进行编程。7.充分地利用M文件编辑窗口里面的设置断点、单步执行和连续执行工具对程序进行调试。5.3MATLAB程序设计实例5.5.1M命令文件设计实例【例5-9】猩猩吃香蕉问题:有一堆不知数目的香蕉,猩猩第一天吃掉一半,觉得没吃够,又多吃了一个。第二天依旧如此吃香蕉,即吃掉剩下香蕉的一半再加一个。以后天天如此,直至第十天早上发现只剩下一个香蕉了。问这堆香蕉原来的数目和每天剩余香蕉的数目是多少?问题分析:此题初看起来感觉无从下手,其实这是一个典型的递推问题,即可以先假设第1天共有x1个香蕉,第2天剩余x2个香蕉,……,第9天剩余x9个,第10天剩余x10个。从题干中可以看出x10=1,而且可以看出
之间存在
,即的关系,其中。5.3MATLAB程序设计实例5.5.1M命令文件设计实例%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%例5-9,猩猩吃香蕉问题%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%x=zeros(1,10);%1行10列的零矩阵,保存每天香蕉的数目x(10)=1; %给定初值,第10天还剩1个香蕉Total=0; %预设香蕉总数变量i=9;
forn=i:-1:1 %循环递推,计算每天的香蕉数目x(n)=2*(x(n+1)+1);end%endforn
Total=x(1) %输出这堆香蕉原来的数目x %输出每天剩余香蕉的数目5.3MATLAB程序设计实例5.5.2M函数文件设计实例【例5-10】某商场对商品实行打折促销,具体标准如表5-3所示,试编写程序计算顾客的实际消费金额和所享受的折扣。消费额度折扣若总消费小于300元无折扣若总消费大于等于300元,并小于500元1%折扣若总消费大于等于500元,并小于800元3%折扣若总消费大于等于800元,并小于1500元5%折扣若总消费大于等于1500元,并小于3000元7%折扣若总消费大于等于3000元,并小于10000元9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CH-5儿童各年龄期保健课件
- 2025年全球及中国缆索式起重机行业头部企业市场占有率及排名调研报告
- 2025年全球及中国高压有载分接开关行业头部企业市场占有率及排名调研报告
- 2025年全球及中国可见光波段高光谱成像(HSI)设备行业头部企业市场占有率及排名调研报告
- 2025-2030全球墙磨机开关行业调研及趋势分析报告
- 2025年全球及中国打印贴标机和耗材行业头部企业市场占有率及排名调研报告
- 2025-2030全球工业PTFE密封件行业调研及趋势分析报告
- 2025-2030全球超高频RFID一次性腕带行业调研及趋势分析报告
- 2025-2030全球便携手持式光谱仪行业调研及趋势分析报告
- 2025-2030全球除湿白带丸行业调研及趋势分析报告
- 2024年03月四川农村商业联合银行信息科技部2024年校园招考300名工作人员笔试历年参考题库附带答案详解
- 小学一年级数学上册口算练习题总汇
- 润滑油知识-液压油
- 2024年江苏省中医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 临床思维能力培养
- 人教版高中物理必修第三册第十章静电场中的能量10-1电势能和电势练习含答案
- 2024年四川省巴中市级事业单位选聘15人历年高频难、易错点练习500题附带答案详解
- 《中国香文化》课件
- 盖房四邻签字协议书范文
- 2024简易租房合同下载打印
- TBSES 001-2024 建设项目环境影响后评价技术指南 污染影响类
评论
0/150
提交评论