- 1
- 0
- 约1.06万字
- 约 32页
- 2017-04-01 发布于四川
- 举报
第3章节MATLAB程序的设计
第三章 MATLAB程序设计 3.1 M文件编辑器 3.2 M文件类型与运行机理 3.3 MATLAB程序控制流 3.4 函数类型与使用方法 3.5 数据I/O与文件操作 3.6 程序调试与性能优化 3.1 M文件编辑器 M文件编辑器的启动: 在MATLAB指令窗运行命令edit 点击MATLAB工具栏上的“新建”图标 在MATLAB菜单中选择〔File〕→〔New…〕→“M-file” 打开已经存在的M文件: 在MATLAB指令窗运行命令edit filename 点击MATLAB工具栏上的“打开”图标 在MATLAB菜单中选择〔File〕→〔Open…〕 编辑M文件: M文件是文本文件,后缀名必须是.m M文件可以用任何文本编辑工具创建和编辑 文本编辑工具最好具有语法检测功能 3.2 M文件类型与运行机制 3.2.1 M脚本文件 M脚本文件只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合 脚本文件运行后,所产生的所有变量都驻留在MATLAB基本工作空间中 只要用户不使用clear指令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存在基本工作空间 基本工作空间随MATLAB的启动而产生,只有关闭MATLAB,该基本空间才能被删除 脚本文件不允许有输入参数和输出参数 3.2 M文件类型与运行机制 3.2.2 M函数文件 M函数文件的第一行是以function引导的函数声明行,该行还罗列函数与外界联系的全部输入输出参数 每当函数文件运行时,MATLAB就专门为它开辟一个临时的函数工作空间,所有中间变量都存放在函数工作空间中 当执行完文件最后一条指令时,或遇到return,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被删除 函数空间随具体M函数文件的被调用而产生,随调用结束而删除 函数空间相对基本空间是独立的、临时的,在MATLAB整个运行期间,可以产生任意多个临时函数空间 如果在函数文件中发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量都存放于函数空间,而不存放在基本空间 如果从组成程序结构的角度来看,M函数文件仅比M脚本文件多出一个函数声明行,其它部分完全一样 3.2 M文件类型与运行机制 3.2.3 M函数文件的一般结构 函数声明行:位于函数文件首行,以关键字function开头,函数名以及函数的输入输出参数都在这一行定义 函数文件名字必须以字母开头,后面可以是字母、下划线以及数字的任意组合,但不得超过31个字符 函数定义名与保存文件名一致;如果两者不一致,MATLAB将忽视文件首行的函数定义名,而以保存文件名为准 H1行:紧随函数声明行之后以%开头的第一注释行,包含:大写体函数文件名和运用关键词简要描述的函数功能,供lookfor关键词查询和help在线帮助使用 H1行最好用英文表达,便于关键词检索 在线帮助文本区:H1行及其之后连续以%开头的所有注释行构成,通常包括函数输入输出参数的含义和调用格式说明 编写和修改记录:与在线帮助文本区相隔一个空行,也以%开头;标志编写及修改该M文件的作者和日期以及版本记录,用来做软件档案管理 函数体:由实现该M函数文件功能的指令组成 注释:以%开头,在函数体中对实现函数功能的关键部分作出说明 若仅从运算角度看,只有“函数声明行”和“函数体”两部分是构成M函数文件必不可少的 3.2 M文件类型与运行机制 3.2.4 局部变量和全局变量 局部变量(Local variable) 存在于函数空间内部的中间变量 产生于该函数的运行过程中 其影响范围仅限于该函数本身 全局变量(Global variable) 不同的函数空间以及基本工作空间共享的变量 每个希望共享变量的空间都必须用global声明全局变量 没采用global定义的空间无权享用全局变量 如果某个空间的操作使全局变量的内容发生变化,那么其他空间中的同名变量也随之变化 除非与全局变量联系的所有空间都被删除,否则全局变量依然存在 对全局变量的定义必须在该变量被使用之前进行 为了提高M文件的可读性,建议用大写字母命名全局变量 由于全局变量损害函数的封装性,因此不提倡使用全局变量 3.2 M文件类型与运行机制 3.2.5 P码文件 语法分析过程和伪代码 一个M文件首次被调用时,MATLAB首先对该M文件进行语法分析,并把生成的相应内部伪代码文件存放在内存中 再次调用该M文件时,将直接调用该文件在内存中的P码文件,而不会对原码文件重复进行语法分析 P码文件与原码文件有相同的文件名,但扩展名是.p P码文件运行速度高于原码文件 如果存在同名的P码和原码文件,那么当该文件名被调用时,被执行的肯定是P码文件 P码文件的预生成 pcode FunName:在当前目录上生成FunName
您可能关注的文档
- 江苏省高邮市界首中学2016年高三上学期天天练数学[文]试题[12月10日-12月15日]附解析.doc
- 江苏省黄桥中学2015年高三下学期物理周周练四附解析.doc
- 第2章节图形系统与基准化.ppt
- 第2章节国际贸易的古典理论.ppt
- 第2章节基本文档标记.ppt
- 第2章节刑事诉讼法的历史进展.ppt
- 江苏省黄桥中学2016年高三上学期第一次质量检测历史试题附解析.doc
- 江苏省高淳高级中学2014-2015年度高一上学期期中考试生物试题无解析.doc
- 第2章节存款业务的核算银行会计.ppt
- 第2章节国际金融市场.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)