已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,本讲教学目标掌握函数文件的基本结构掌握Matlab函数的调用方法了解函数参数的可调性掌握函数的句柄和常用的程序调试方法了解各种不同类型的函数,.,11.1函数11.1.1函数文件基本结构由function语句引导,其基本结构为:function输出形参表=函数名(输入形参表)注释说明部分函数体语句函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于一个时,则应该用方括号括起来。,.,例1:编写函数文件求半径为r的圆的面积和周长。函数文件如下:%calculatetheareaandperimeterofacircleofradiirfunctions,p=fcircle(r)%r圆半径,s圆面积,p圆周长s=pi*r*r;p=2*pi*r;,.,11.1.2函数调用函数调用的一般格式是:输出实参表=函数名(输入实参表)注意:函数调用时各实参出现的顺序和个数,应与函数定义时形参的顺序和个数一致,否则会出错。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。在MATLAB中,函数可以嵌套调用,即函数可以调用别的函数,甚至调用它自身。一个函数调用它自身称为递归调用。,.,例2:利用函数文件,实现直角坐标(x,y)与极坐标(rho,theta)之间的转换。函数文件tran.m:functionrho,theta=tran(x,y)rho=sqrt(x*x+y*y);theta=atan(y/x);调用tran.m的命令文件main1.m:x=input(Pleaseinputx=:);y=input(Pleaseinputy=:);rho,the=tran(x,y),.,例3:利用函数的递归调用,求n!。递归调用函数文件factor.m如下:functionf=factor(n)ifntrigFun=sin,cos,tan;plot(trigFun2(-pi:0.01:pi),.,函数句柄的操作,.,11.1.5匿名函数匿名函数提供了一种创建简单程序的方法,可以使用户不必每次都编写M文件,可以在命令窗口或其他任意M文件和脚本文件中使用。格式为:fhandle=(arglist)expr其中fhandle为该函数创建的函数句柄;符号用于创建函数句柄;arglist为用逗号分隔的参数列表;expr为函数主体,一般为表达式。,.,11.1.6主函数通常M文件中的第一个函数为主函数,主函数之后可以是任意数量的子函数,它们可以作为主程序的子程序。一般来说,主函数可被该文件之外的其他函数调用,而子函数只能被该文件内的函数调用。在命令窗口或M文件种只能调用主函数,调用的时候是通过存储该函数的M文件名进行。,.,11.1.7子函数与其他语言一样,在MATLAB7语言中也可以很方便地定义子函数,用来扩充函数的功能。在函数文件中题头定义的函数为主函数,而在函数体内定义的其他函数都被视为子函数。每个子函数以函数定义语句开头,直至下一个函数的定义或文件的结尾。子函数只能为主函数或同一主函数下的其他子函数所使用。,.,11.1.8嵌套函数一个函数内部可以定义其他的函数,这种内部的函数称作嵌套函数。定义嵌套函数时,只要在一个函数内部直接定义嵌套函数即可。注意:当一个M文件中存在嵌套函数时,该文件内的所有函数必须以end结尾。,.,例6:嵌套函数的结构functionx=A(p1,p2).functiony=B(p3).end.end每个函数中可以嵌套多个函数。,.,11.1.9私有函数这类函数位于名为“private”的子文件夹中,只能被上一级文件夹中的函数或者这些函数所调用的M文件调用。如当前文件夹为math,其中包含private文件夹,则private中的函数只能被math根目录下的函数及这些函数调用的M文件调用。用户可开发自己的函数库,其名称可以与系统标准M函数库名称相同,而不必担心在函数调用时发生冲突,因为MATLAB首先查找私有函数,再查找标准函数。,.,11.1.10重载函数函数重载为程序编写和用户调用都提供了很大的方便。函数重载允许多个函数使用相同的函数名,不同的输入参数类型。在函数调用时,系统根据输入参数的情况自动选择相应的函数执行。,.,11.2程序的调试和优化11.2.1程序的调试程序的错误种类错误的识别和程序调试11.2.2程序的优化程序优劣的分析程序优化的技巧有效地使用内存,.,11.2.1程序的调试程序的错误种类在MATLAB的表达式中存在两种类型的错误:(1)语法错误语法错误发生在M文件程序代码的生成过程中,一般是由函数参数输入类型有误或是矩阵运算阶数不符等引起。(2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术创新绩效考核评价体系
- 2026北京航空航天大学宇航学院聘用编科研财务助理F岗招聘1人备考题库含答案详解
- 2026第十四届贵州人才博览会贵州医科大学附属口腔医院引进高层次人才5人备考题库含答案详解(培优)
- 2026上海市公共卫生临床中心招聘备考题库及答案详解(夺冠系列)
- 2026湖南岳阳市屈原管理区科技和工业信息化局编外人员招聘备考题库含答案详解(夺分金卷)
- 2026江苏南通通州湾三余人民医院招聘医疗辅助人员1人备考题库及答案详解1套
- 2026云南玉溪市江川区妇幼保健院就业见习岗位招募8人备考题库及答案详解(基础+提升)
- 2026年河南省焦作市事业单位联考招聘628名备考题库及答案详解(易错题)
- 2026浙江嘉兴经济技术开发区招聘教师20人备考题库含答案详解(达标题)
- 2026中国共产党曲靖市委员会统一战线工作部招聘公益性岗位3人备考题库(云南)及1套完整答案详解
- 儿童自闭症康复机构运营方案
- 2025年新疆克拉玛依市初中学业水平模拟测试道德与法治、历史试卷卷-初中道德与法治
- 2026年广东省佛山市顺德区中考语文一模试卷
- 足疗店内部劳动保障制度
- 2026年公安联考行测试卷
- 2025-2030中国水工金属结构行业投资建议及重点企业竞争力分析研究报告
- 基因治疗产品生产工艺清洁验证残留限度
- 2025年潍坊职业学院辅导员考试笔试题库附答案
- 2026年河南交通职业技术学院单招职业技能测试必刷测试卷附答案
- 2025年吐鲁番市法检系统招聘聘用制书记员考试(23人)模拟试卷及参考答案
- 2024年贵州省中考英语试卷(含答案)
评论
0/150
提交评论