![matlab函数文件和脚本文件_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/dc73dd80-dc92-4262-adb3-a0df87ffa045/dc73dd80-dc92-4262-adb3-a0df87ffa0451.gif)
![matlab函数文件和脚本文件_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/dc73dd80-dc92-4262-adb3-a0df87ffa045/dc73dd80-dc92-4262-adb3-a0df87ffa0452.gif)
![matlab函数文件和脚本文件_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/dc73dd80-dc92-4262-adb3-a0df87ffa045/dc73dd80-dc92-4262-adb3-a0df87ffa0453.gif)
![matlab函数文件和脚本文件_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/dc73dd80-dc92-4262-adb3-a0df87ffa045/dc73dd80-dc92-4262-adb3-a0df87ffa0454.gif)
![matlab函数文件和脚本文件_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/dc73dd80-dc92-4262-adb3-a0df87ffa045/dc73dd80-dc92-4262-adb3-a0df87ffa0455.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章第五章脚本文件和函数文件脚本文件和函数文件本节内容n 掌握脚本文件和函数文件的区别n掌握函数文件的编写和调用n掌握M文件的调试方法n掌握文件的打开和关闭1 M文件-脚本文件 脚本文件只是一串按照用户意图排列而成脚本文件只是一串按照用户意图排列而成的的MATLAB指令集合,即只是简单命令的叠指令集合,即只是简单命令的叠加。它没有输入参数,也没有输出参数。加。它没有输入参数,也没有输出参数。 它运行后产生的变量都是全局变量,均驻它运行后产生的变量都是全局变量,均驻留在留在workspace中。中。只要用户不使用指令只要用户不使用指令clear加以清除,或加以清除,或MATLAB指令窗不关闭,
2、这些指令窗不关闭,这些变量将一直保存在基本工作空间中。变量将一直保存在基本工作空间中。例例:计算小于任意自然数计算小于任意自然数n的的fibonnaci数。数。运行文件运行文件(F5/Debug|Run(F5/Debug|Run)函数文件 函数文件是一种特殊类型的运行在自己独立的工作空间的M文件,通过输入形参表接收数据,通过输出形参返回结果到调用文件。function function 输出形参表输出形参表=fnamefname( (输入形参表输入形参表) )% H1% H1注释行注释行% % 其他注释行其他注释行 (可执行代码)(可执行代码)(return)(return)以function
3、开头的一行为引导行,是函数定义语句,表示该M文件是一个函数文件。帮助文本的首行(H1行):用于help帮助使用和lookfor搜索帮助文本:指H1行之后到函数体之前的注释行。包括函数的意义、各参数的意义、调用格式以及程序的作者、日期等。函数体是函数的执行代码,是文件主要部分。注释:以%开头,可出现在程序中任意一行,用绿色表示。编译时会被忽略,不会影响程序运行速度。例:编写函数计算两点之间的距离。例:编写函数计算两点之间的距离。l当函数的输出参数多于一个时,应该用当函数的输出参数多于一个时,应该用方括号方括号括起来,并以括起来,并以逗号隔开逗号隔开;l传递给函数的变量不必与函数定义行中的参数传递
4、给函数的变量不必与函数定义行中的参数同名;同名;l函数和文件的命名规则与变量命名规则相同;函数和文件的命名规则与变量命名规则相同;l若保存的文件名与函数名不同,则在若保存的文件名与函数名不同,则在调用时必调用时必须使用文件名须使用文件名。l建议:函数名与文件名应一致建议:函数名与文件名应一致(系统默认系统默认)注意事项l函数文件运行时,函数文件运行时,MATLAB会专门为其开辟会专门为其开辟一一临时工作空间临时工作空间(函数空间),所有变量都(函数空间),所有变量都存放于此。文件运行完毕后,该临时空间以存放于此。文件运行完毕后,该临时空间以及所有中间变量就立即被清除;及所有中间变量就立即被清除
5、;l函数空间随函数文件的调用而产生,随调用函数空间随函数文件的调用而产生,随调用而结束;而结束;l函数文件的变量除特别声明外均是局部变量函数文件的变量除特别声明外均是局部变量函数运行-调用 注:1)函数调用时,先将实参传递给相应的形参,实现参数传递,然后再执行函数的功能。2)各实参出现的顺序、个数应与形参定义的顺序和个数一致,否则会出错。函数文件运行不能选中菜单Run,而是调用。 输出实参表输出实参表 函数名(输入实参表)函数名(输入实参表)n 函数调用的一般格式脚本文件和函数文件的区别n相同:扩展名都是.m,可用文件编辑器编写n不同:1)脚本文件无输入、输出参数 ; 2)函数文件与指令空间只
6、能通过输入参数和输出参数通信,中间变量不出现; 3)脚本文件产生的变量都是全局变量,存放在基本工作空间中;而函数文件产生的中间变量存放在临时工作空间中,它随函数的调用结束而删除; 4)运行方式不同。1)以以ffib.m为名存盘为名存盘2)MATLAB命令窗口输入命令:命令窗口输入命令: ffib(1000)即可求小于即可求小于1000的的Fibonacci数。数。例例:编写函数求小于任意自然数编写函数求小于任意自然数n的的fibonnaci数。数。递归调用:函数调用其本身function f=factor(n) if n提示符),用户可以查看工作区中的变量,也可改变变量的值。当输入return
7、指令时返回程序,继续运行。调试方法n 程序的暂停:采用pause函数可以暂停程序,直到用户按任一键程序才继续执行。若要强行中止程序的运行,可用ctrl+c。n return:结束所在函数的执行,把控制权转至主调函数或指令窗。否则,只有待整个被调函数执行完后,才会转出。n keyboard:将控制权交给键盘,用于程序的调试及在程序运行中修改变量。n调试一个单独的函数时,可将函数改写为脚本文件,此时可直接对输入参数赋值,然后以脚本方式运行该M文件;n使用调试器使用调试器 可以准确地找到运行错误。通过设置断点可使程序运行到某行暂停,查看和修改工作空间中的变量;也可以逐行运行程序,对执行流程进行完全监
8、控。调试器Debug 它可帮助用户正确地找到程序出错的位置,其常和端点breakpoint配合使用。n 调试手段有:设置断点、跟踪和观察变量DebugDebug菜单项菜单项lStepStep(F10F10):单步执行语句,对于函):单步执行语句,对于函数调用可将此函数一次执行完毕数调用可将此函数一次执行完毕lStep InStep In(F11F11):单步执行语句,遇到):单步执行语句,遇到函数时则进入函数体内单步执行函数时则进入函数体内单步执行lStep OutStep Out(shift+F11shift+F11):从函数体内):从函数体内运行到函数体外,即从当前位置运行到运行到函数体外
9、,即从当前位置运行到调用函数语句的下一条语句调用函数语句的下一条语句lRunRun(F5F5):从头开始执行程序,直到遇到一):从头开始执行程序,直到遇到一个端点或程序结束;个端点或程序结束;lRun to CursorRun to Cursor:从当前位置运行到光标处;:从当前位置运行到光标处;lExit Debug ModeExit Debug Mode:退出调试工具,同时结束:退出调试工具,同时结束调试过程和程序运行过程调试过程和程序运行过程。lSet/Clear BreakpointsSet/Clear Breakpoints(F12F12):设置或清):设置或清除光标所在行的断点除光
10、标所在行的断点lClear all BreakpointsClear all Breakpoints:清除所有断点:清除所有断点调试方法步骤n 设置断点:选中要设置的语句,用快捷键F12或用工具条上的大红点或点击菜单set breakpoint注:断点设置后,在窗口左边框上的大红圆点注:断点设置后,在窗口左边框上的大红圆点表示,非常醒目。表示,非常醒目。n设置断点后,点击菜单Debug|Run,程序便处在调试状态。而后程序会自动在断点处暂停,此时左边框上的对应位置会出现一个绿色箭头指示被中断的语句。n单步执行各语句:此时可查看各变量的内容,以判断程序流程是否正确。n退出调试工具:选中菜单exi
11、t debug moden清除断点:与设置方法相同。因因collatz.m程序需要输入程序需要输入参数参数n,故查看输出结果不,故查看输出结果不能用能用Run命令,而需在指命令,而需在指令窗中输入令窗中输入collatz(5)6.5 程序的优化n 避免使用循环(向量化编程) 要尽可能地使用向量或矩阵编程,而不是像在其他语言中对向量或矩阵的元素编程。这样,不仅可以使程序较短,而且能大大提高运行速度。要求:编程者须熟悉数组运算和要求:编程者须熟悉数组运算和MATLABMATLAB的指令的指令n 数组的预定义 数组空间预配置可提高运行速度(对高阶矩阵的影响尤为明显)以及内存的利用率,否则数组多次扩维
12、会增加内存的碎片。 clear vr=0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41; ir=0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257,0.308,0.345; L=length(vr) %计算数组的长度计算数组的长度 for k=1:L r(k)=vr(k)/ir(k); %根据各测量点计算电阻根据各测量点计算电阻 end sr=0; for k=1:L sr=sr+r(k); %计算所有电阻之和计算所有电阻之和 end rm=sr/L 计算电阻平均值计算电阻平均值例:根据测得的一组电压、电流值计算平均电阻值。例:根据测得的一组电压、电流值计算平均电阻值。 clear vr=0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41; ir=0.028,0.040,0.100,0.145,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国重庆温泉特色小镇行业市场运营现状及投资方向研究报告
- 2025年中高密度板项目可行性研究报告
- 2025年粉碎设备项目可行性研究报告
- 2025年塑胶皮革项目可行性研究报告-20250102-075526
- 2025年度智能瓜籽交易平台购销合同范本
- 2025年度房地产质量检测工程合同范本
- 2025年度国际物流运输服务国际买卖合同
- 2025年度公司向股东借款用于企业并购合同范本
- 2025年度新能源技术研发中心前期咨询服务合同范本
- 2025年度多媒体广告制作与发布合同范本
- 第1课+古代亚非(教学设计)【中职专用】《世界历史》(高教版2023基础模块)
- 新教科版六年级下册科学全册教案
- 物业客服管家的培训课件
- 2024年房地产行业的楼市调控政策解读培训
- 《统计学-基于Python》 课件全套 第1-11章 数据与Python语言-时间序列分析和预测
- 《GMP实务教程》 完整全套教学课件 项目1-14 GMP基础知识-药品生产行政检查
- 装饰定额子目(河南省)
- 【高速铁路乘务工作存在的问题及对策研究9800字】
- 北师大版英语课文同步字帖三年级下册课文对话原文及翻译衡水体英语字帖三年级起点
- GB/T 2550-2016气体焊接设备焊接、切割和类似作业用橡胶软管
- GB/T 21295-2014服装理化性能的技术要求
评论
0/150
提交评论