M函数省公共课一等奖全国赛课获奖课件.pptx
《M函数省公共课一等奖全国赛课获奖课件.pptx》由会员分享,可在线阅读,更多相关《M函数省公共课一等奖全国赛课获奖课件.pptx(50页珍藏版)》请在咨信网上搜索。
1、第第5章章 MATLAB程序设计程序设计M文件介绍文件介绍MATLAB程序控制结构程序控制结构函数调用和参数传递函数调用和参数传递第1页 MATLAB有两种工作方式:有两种工作方式:(1)交互式命令行工作方式)交互式命令行工作方式 通常通常matlab以以指令驱动模式指令驱动模式工作,即在工作,即在matlab 窗口下当用户输入窗口下当用户输入单行指令单行指令时,时,matlab 马上处理这条指令,并显示结果,这马上处理这条指令,并显示结果,这就是就是matlab命令行方式命令行方式。第2页(2)M文件程序工作方式文件程序工作方式 较多命令较多命令 重复输入重复输入 将要输入全部指令按次序放到
2、一个将要输入全部指令按次序放到一个扩展扩展名为名为“.m”文本文件文本文件中,每次运行时中,每次运行时只要输只要输入入M文件文件名即可文件文件名即可。这种工作模式称为。这种工作模式称为M文件程序工作方式。文件程序工作方式。第3页 5.1 M文件介绍文件介绍 用用MATLAB语言编写程序,称为语言编写程序,称为M文件文件。5.1.1 M文件建立与编辑文件建立与编辑 M文件是一个文本文件,它能够用任何编辑程文件是一个文本文件,它能够用任何编辑程序来建立和编辑,而普通惯用且最为方便是序来建立和编辑,而普通惯用且最为方便是使用使用MATLAB提供文本编辑器提供文本编辑器。1、建立新、建立新M文件文件
3、开启开启MATLAB文本编辑器有文本编辑器有3种方法:种方法:方法一:方法一:菜单操作菜单操作 File New M-file MATLAB Editor窗口窗口 输入输入M文件内容并存盘。文件内容并存盘。第4页方法二:命令操作方法二:命令操作 在在MATLAB命令窗口输入命令命令窗口输入命令edit,开启,开启MATLAB文本编辑器后,输入文本编辑器后,输入M文件内容并存盘。文件内容并存盘。方法三:命令按钮操作方法三:命令按钮操作 单击单击MATLAB主窗口工具栏上主窗口工具栏上New M-File命令按命令按钮钮 ,开启,开启MATLAB文本编辑器后,输入文本编辑器后,输入M文件文件内容并
4、存盘。内容并存盘。注意:注意:M文件存放位置默认情况下是文件存放位置默认情况下是 MATLAB安装目录下安装目录下work子目录。子目录。第5页2、编辑已经有、编辑已经有M文件文件方法一:方法一:菜单操作菜单操作 File Open Open对话框对话框 M文件文件方法二:方法二:命令操作命令操作 在在MATLAB命令窗口输入命令:命令窗口输入命令:edit 文件名文件名方法三:方法三:命令按钮操作命令按钮操作工具栏工具栏Open File 选择所需打开选择所需打开M文件。文件。第6页 MATLAB提供了两种源程序文件格式:提供了两种源程序文件格式:脚脚本文件本文件和和函数文件函数文件,这两种
5、文件扩展名均为,这两种文件扩展名均为“.m”。M脚本(脚本(Scripts)文件(命令行文件):没有)文件(命令行文件):没有输入参数,也不返回输出参数;输入参数,也不返回输出参数;M函数(函数(Functions)文件:)文件:既能够有输入参数、既能够有输入参数、输出参数,也能够没有输入参数、输出参数。输出参数,也能够没有输入参数、输出参数。5.1.2 M脚本文件和脚本文件和M函数文件函数文件第7页一、一、M脚本文件(命令行文件)脚本文件(命令行文件)本质:是一串指令集合,与在命令窗口本质:是一串指令集合,与在命令窗口逐行执行文件中全部指令,其结果是一样。逐行执行文件中全部指令,其结果是一样
6、。将需要运行命令编辑到一个命令文件中,将需要运行命令编辑到一个命令文件中,然后在然后在MATLAB命令窗口直接输入该命令文命令窗口直接输入该命令文件名字(执行方法)件名字(执行方法),就会次序执行命令文,就会次序执行命令文件中命令,该文件称为件中命令,该文件称为脚本文件脚本文件。第8页(1)脚本文件中命令格式和前后次序,与在)脚本文件中命令格式和前后次序,与在命令窗口中输入指令无区分;命令窗口中输入指令无区分;(2)与在命令窗口中直接运行命令一样,脚)与在命令窗口中直接运行命令一样,脚本文件产生变量都驻留在本文件产生变量都驻留在MATLABworkspace中,能够方便查看变量;中,能够方便查
7、看变量;脚本文件能够直接访问脚本文件能够直接访问workspace中全部数据;中全部数据;(3)文件文件名要防止与)文件文件名要防止与MATLAB内置内置函数与工具箱中函数重名,并要放在搜索路函数与工具箱中函数重名,并要放在搜索路径内。径内。第9页例例1:建立一个脚本文件,将变量:建立一个脚本文件,将变量a、b值交换。值交换。解:建立解:建立li1.m文件文件a=1:9;b=11 12 13;14 15 16;17 18 19;c=a;a=b;b=c;ab指令窗口执行该程序指令窗口执行该程序 li1a=11 12 13 14 15 16 17 18 19b=1 2 3 4 5 6 7 8 9第
8、10页二、二、M函数文件函数文件 函数文件函数文件(Function file)是另一个形式是另一个形式M文件,文件,每每一个函数文件都定义一个函数一个函数文件都定义一个函数。1.脚本文件和函数文件区分:脚本文件和函数文件区分:(1)M脚本文件不需要输入任何参数,也不返回任何脚本文件不需要输入任何参数,也不返回任何参数,主要是为了处理在命令窗口中重复输入命令繁琐参数,主要是为了处理在命令窗口中重复输入命令繁琐操作;操作;M函数文件通常包含输入参数,也能够返回输出函数文件通常包含输入参数,也能够返回输出参数,主要处理参数传递和函数调用问题。参数,主要处理参数传递和函数调用问题。(2)脚本文件对)
9、脚本文件对workspace中变量进行操作;函数文件中变量进行操作;函数文件变量为局域变量,只有其输出变量保留在变量为局域变量,只有其输出变量保留在workspace中。中。第11页2.函数文件格式函数文件格式 function 输出形参表输出形参表=函数名(输入形参表)函数名(输入形参表)函数帮助信息行函数帮助信息行 函数体函数体是函数功效实现部分是函数功效实现部分 特定规则:特定规则:m函数文件第一行必须以单词函数文件第一行必须以单词function作为引导词;作为引导词;函数信息行:给出函数帮助信息,帮助信息要函数信息行:给出函数帮助信息,帮助信息要从从%开开头,并放在一行开头,用头,并
10、放在一行开头,用help+函数名可查询到;函数名可查询到;第12页 函数名命名规则与变量名相同;函数名命名规则与变量名相同;m函数文件函数文件文件名文件名能能够直接用够直接用函数名函数名.m,也能够与函数名不一样,不过,也能够与函数名不一样,不过调用调用时使用文件名时使用文件名;当函数输出形参多于当函数输出形参多于1个时,应用个时,应用方括号,参数之间用方括号,参数之间用逗号隔开:逗号隔开:function a,b=mfile(x,y);当函数无输出参数时,;当函数无输出参数时,输出参数项应为空,或者用空中括号表示:输出参数项应为空,或者用空中括号表示:function mfile(x,y)或
11、者或者function =mfile(x,y);函数执行后,函数执行后,只保留最终返回结果只保留最终返回结果,不保留任何中间过,不保留任何中间过程。程序中变量均为程。程序中变量均为局部变量局部变量,不保留在工作空间中,其,不保留在工作空间中,其变量只在函数运行期间有效,随函数调用结束而从工作空变量只在函数运行期间有效,随函数调用结束而从工作空间消除。间消除。第13页解:解:首先建立函数文件首先建立函数文件li2.m。函数文件内容:函数文件内容:function li2%ab交换交换 a=1:9;b=11 12 13;14 15 16;17 18 19;c=a;a=b;b=c;a b例例2:建立
12、一个函数文件,将变量:建立一个函数文件,将变量a、b值交换。值交换。第14页例例3:建立函数文件,将华氏温度:建立函数文件,将华氏温度f转换为摄氏温度转换为摄氏温度c解:解:首先建立函数文件首先建立函数文件f2c.m。函数文件内容:函数文件内容:function c=f2c(f)c=5*(f-32)/9 f2c(100)c=37.7778 第15页5.2 MATLAB程序控制结构程序控制结构5.2.1 条件分支结构条件分支结构条件分支结构条件分支结构依据一定条件来执行各条语句。依据一定条件来执行各条语句。1if语句语句 (1)单分支单分支if语句:语句:if 条件条件 语句组语句组 end 当
13、条件成立时,则执行语句组,执行完之后继当条件成立时,则执行语句组,执行完之后继续执行续执行if语句后继语句,若条件不成立,则直接执语句后继语句,若条件不成立,则直接执行行if语句后继语句。语句后继语句。第16页(2)双分支双分支if语句:语句:if 条件条件 语句组语句组1 else 语句组语句组2 end 当条件成立时,执行语句组当条件成立时,执行语句组1,不然,不然执行语句组执行语句组2,语句组,语句组1或语句组或语句组2执行执行后,再执行后,再执行if语句后继语句。语句后继语句。第17页(3)多分支多分支if语句:语句:if 条件条件1 语句组语句组1 elseif 条件条件2 语句组语
14、句组2 elseif 条件条件m 语句组语句组m else 语句组语句组n end 第18页function y=shuru(x)if x=1 y=2*x.2+1 elseif(x-1)y=0 else y=-x.3 end例例4:计算函数:计算函数y=第19页例例5:编程判断一年是否是闰年:编程判断一年是否是闰年function leapyear(year)%使用该程序判断是否是闰年使用该程序判断是否是闰年sign=0;if mod(year,4)=0 sign=0;elseif mod(year,400)=0 sign=1;elseif mod(year,100)=0 sign=0;els
15、e sign=1;endif sign=1 fprintf(%4d year is a leap year!n,year)else fprintf(%4d year is not a leap year!n,year)end执行结果:执行结果:leapyear(1904)1904 year is a leap year!leapyear(1900)1900 year is not a leap year!第20页2、Switch语句语句 假如在一个程序中,必须假如在一个程序中,必须针对某个针对某个变量不一样取值情况进行对应操作变量不一样取值情况进行对应操作,switch语句比语句比if语句更方
16、便。语句更方便。switch语语句用于实现多重选择句用于实现多重选择。第21页语法:语法:switch 分支条件(函数、变量、表示式)分支条件(函数、变量、表示式)case 条件条件1(标量、字符串)(标量、字符串)执行语句执行语句1 case 条件条件2 条件条件3 条件条件4 执行语句执行语句2 case otherwise 执行语句执行语句n end第22页例例6:编写函数文件,将百分制成绩转换为五级制成绩:编写函数文件,将百分制成绩转换为五级制成绩function f=trangrade(x)switch fix(x/10)case 10 9 f=A;case 8 f=B;case 7
17、 f=C;case 6 f=D;otherwise f=E;end运行结果:运行结果:trangrade(97)ans=A trangrade(67)ans=D trangrade(55)ans=E第23页例例7 某商场对用户所购置商品实施打折销售,某商场对用户所购置商品实施打折销售,标准以下标准以下(商品价格用商品价格用price来表示来表示):price200 没有折扣没有折扣 200price500 3%折扣折扣 500price1000 5%折扣折扣 1000price2500 8%折扣折扣 2500price5000 10%折扣折扣 5000price 14%折扣折扣 输入所售商品价
18、格,求其实际销售价格。输入所售商品价格,求其实际销售价格。第24页function shurujiage(price)switch fix(price/100)case 0,1%价格小于价格小于200 rate=0;case 2,3,4%价格大于等于价格大于等于200但小于但小于500 rate=3/100;case num2cell(5:9)%价格大于等于价格大于等于500但小于但小于1000 rate=5/100;case num2cell(10:24)%价格大于等于价格大于等于1000但小于但小于2500 rate=8/100;case num2cell(25:49)%价格大于等于价格大
19、于等于2500但小于但小于5000 rate=10/100;otherwise%价格大于等于价格大于等于5000 rate=14/100;endprice=price*(1-rate)%输出商品实际销售价格输出商品实际销售价格 第25页5.2.2 循环结构循环结构1.while循环循环 while循环以不定次数重复执行一组语句。语法为:循环以不定次数重复执行一组语句。语法为:while 逻辑表示式逻辑表示式 循环体语句循环体语句end while语句执行过程,只要表示式里面全部元素为语句执行过程,只要表示式里面全部元素为真,就执行真,就执行while和和end之间语句,不然就结束循环。在之间语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 公共课 一等奖 全国 获奖 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。