版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、M文件和Matlab控制流,脚本文件和函数文件,M脚本文件,对于一些比较简单的问题 ,在指令窗中直接输入指令计算 。,对于复杂计算,采用脚本文件(Script file)最为合适 。,MATLAB只是按文件所写的指令执行 。,M脚本文件的特点是:,脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合。,脚本文件运行后 ,所产生的所有变量都驻留在 MATLAB基本工作空间(Base workspace)中。只要用户不使用清除指令(clear), MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。,M文件有两种形式 :脚本文件(Script
2、 File)和函数文件(Function File )。这两种文件的扩展名,均为“ . m” 。,脚本文件和函数文件(续1) M函数文件,与脚本文件不同 ,函数文件犹如一个“黑箱”,把一些数据送进并经加工处理,再把结果送出来。,MATLAB提供的函数指令大部分都是由函数文件定义的。,M函数文件的特点:,从形式上看 ,与脚本文件不同 ,函数文件的笫一行总是以 “function”引导的“函数申明行”。,从运行上看 ,与脚本文件运行不同 ,每当函数文件运行, MATLAB就会专门为它开辟一个临时工作空间,称为函数工作空间( Function workspace) 。当执行文件最后一条指令时 ,就结
3、束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。,脚本文件和函数文件(续2) M文件的一般结构,由于从结构上看 ,脚本文件只是比函数文件少一个“函数申明行”,所以只须描述清楚函数文件的结构 。,典型 M函数文件的结构如下 :,函数申明行:位于函数文件的首行,以关键字 function 开头,函数名以及函数的输入输出宗量都在这一行被定义。,笫一注释行:紧随函数申明行之后以%开头笫一注释行。该行供lookfor关键词查询和 help在线帮助使用 。,在线帮助文本区 :笫一注释行及其之后的连续以%开头的所有注释行构成整个在线帮助文本。,编写和修改记录:与在线帮助文本区相隔一个“
4、空”行,也以%开头,标志编写及修改该M文件的作者和日期等 。,函数体:为清晰起见,它与前面的注释以“空”行相隔。,1、在Matlab指令窗口运行指令 edit,2、点击Matlab工具条上的new_M-file图标,3、依次点击FileNEWM-file,4、在Command history 窗口中选一些命令行点鼠标右键选 Create M-file,创建新M文件的几种方法,打开M文件的方法,在指令窗中运行 edit filename 点击工具条上的 Open file 图标 依次点击菜单 FileOpen 使用快捷键 Crtl + O,执行M文件的方法,在命令窗口中直接输入M文件名执行,在当
5、前目录浏览器中右键点击要运行的文件,选run,在M文件编辑器中点debug菜单run,Matlab控制流,for 循环结构 while循环结构 If - else - end 分支结构 Switch case 结构 try catch 结构,for 循环结构,For x = “一组数” (command) end,例如: for x = 1 : 10 ; % x 依次取1,2,3,10 y(x) = x; % 对每个x值,重复执行此循环体 end ;,For循环中应该注意的,循环不会因为在循环体内对循环变量重新赋值而中断 For后面跟的数组可以为任何合法的数组 循环可以嵌套 提高代码的效率尽量
6、避免使用循环结构 尽量不要使用 i 和 j 作为循环变量。,while循环结构,While expression %表达式 (command) end,expression 如果为逻辑真就执行command命令组,while循环结构,例:fibonacci (斐波纳契数列)数组满足fibonacci 规则: a k+2 = a k + a k+1 (k=1,2,) ; 且a1=a2=1 现要求出该数组第一个大于10000的元素。,例:fibonacci 数组满足fibonacci 规则:a k+2 = a k + a k+1 (k=1,2,) ;且a1=a2=1现要求出该数组第一个大于1000
7、0的元素。,a(1)=1;a(2)=1;i=2; while a(i)=10000 a(i+1)=a(i-1)+a(i); i=i+1; end; i,a(i),关于while循环结构的一些说明,与for循环的区别在于while循环执行的次数不确定 一般情况下表达式的值都是标量值,但也允许是数组,但只有数组所有元素为真时才会执行循环体 如果while指令后的表达式是空数组,Matlab会认为表达式之为假而不执行循环体,If - else - end 分支结构,If-case-end分支结构常见的使用方式,判断条件expression为一个空数组,为假(false),另外我们可以用if判断语句和
8、break指令配合使用强行终止for循环和while循环,例:用for循环寻找fibonacc数组中第一个大于10000的元素,n=100 ; a= ones(1,n) ;%把一维数组a全部赋1 for i = 3 :n a(i)=a(i-1)+a(i-2); if a(i) = 10000 a(i), break; end; end,i,Switch case 结构,Switch ex % ex为一组标量或字符串 case test1 (command1) case testk (commandk) otherwise %此指令可以不存在 (commands) %不等于前面所有值执行此组指令 end,try catc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品集团公司员工奖惩办法
- 2026年心理咨询师考试心理评估学模拟试题
- 2025-2026年护理专业护理健康教育应用试题
- 制药公司生产安全细则
- 自考00688设计概论高频考点重点
- 2026下半年初中生物教资面试历年真题题库
- 高中地理教资面试必刷题题库
- 青海湖公园建设方案
- 物业管理小区环境美化方案
- 昌荣大道路面白改黑工程招标文件
- 2026秋【浙教版】(新教材)八上科学 第一章 对环境的察觉拔高培优卷A
- 2026三级健康管理师题库附答案
- 2026秋粤教版(2025新教材)小学信息技术五年级第一学期教学计划及进度表
- 【新教材】统编版(2024)七年级上册历史第2课《原始农业与史前社会》教案
- 2026中国反渗透膜元件回收再利用产业发展现状与政策建议报告
- (2026秋)人教版(新教材)五年级数学上册全册教案
- 老年专科护士准入(选拔)考试理论试题及答案
- 小学数学课程标准目标解读一年级
- 第五章 工程师的职业伦理
- 特种设备叉车维护保养检查记录
- GB/T 13871.1-2022密封元件为弹性体材料的旋转轴唇形密封圈第1部分:尺寸和公差
评论
0/150
提交评论