下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 4 章 MatLab 的程序设计MatLab 是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交 互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂 的、大型的应用都是以程序的方式执行。相对其它高级语言, MatLab 更简单、编程 的效率更高、调试过程也更容易。MatLab 中的程序文件是以 m 为后缀,所以通常将 MatLab 的程序文件称为 m 文 件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文 件)、函数型 m 文件。在 MatLab 中已经嵌入了一个功能强大的集成开发环境 m 文件编辑器,用它来进行程序的编辑
2、、修改、调试、运行等,完成应用开发工作。4.1 MatLab 程序设计基础通过前面内容的学习,大家对 MatLab 已经有了一个初步的认识和印象,到目前 为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上 简单的 m 文件,就是一个批处理程序,它是若干条命令的集合。例:4.1.1 M 文件规则和属性函数 M 文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这 其中包括:1. 函数名和文件名必须相同 。例如,函数 fliplr 存储在名为 fliplr.m 文件中。2. MATLAB 头一次执行一函数个 M 文件时,它打开相应的文本文件并将命令 编辑成存储器的内
3、部表示,以加速执行以后所有的调用。如果函数包含了对其它函数 M 文件的引用, 它们也同样被编译到存储器。 普通的脚本 M 文件不被编译, 即使 它们是从函数 M 文件内调用;打开脚本 M 文件,调用一次就逐行进行注释。3. 在函数 M 文件中,到第一个非注释行为止的注释行是帮助文本。 当需要帮 助时,返回该文本。例如, ? help fliplr 返回上述前八行注释。4. 第一行帮助行,名为 H1 行,是由 lookfor 命令搜索的行。5. 函数可以有零个或更多个输入参量 。函数可以有零个或更多个输出参量。6. 函数可以按少于函数 M 文件中所规定的输入和输出变量进行调用,但不能用多于函数M
4、文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开始所规定的数目,则调用时自动返回一个错误。相对于函数m文件,脚本式m文件就简单多了,它没有严格的格式要求,只要 将有关的命令或函数一一敲入即可,但是还是有几个问题需要注意:1. m文件的名称不得与MatLab的内部函数同名、第一个字符不得为数字(这点 与变量的命名规则相同);2. 最好在文件的头部加上注释,对该m文件的作用、功能作一个简要说明,而 在一些重要命令行后也加上注释行,以方便使用者阅读、查找;3. 要特别注意m文件的保存路径或位置,如果不是保存在MatLab默认的路径下,可以使用addpa
5、th函数来设置、添加路径,否则,m文件不能运行。脚本式m文件与函数m文件还有一个重要区别:脚本式m文件中的变量均为 全局变量,而函数m文件中的变量则是局部变量。这可以从这两种程序文件运行后 在Workspace中留下痕迹看出。当然,在函数m文件中也可以专门将某些变量定义 为全局变量(关键字是:global)。不过,在使用全局变量(函数 m文件中)时应特 别注意: .全局变量需要函数体的变量赋值语句 之前定义或说明; .全局变量名最好是大写,而且要尽量长,能反映它本身的含义; 实际编程时,全局变量也要尽可能少用,因为一旦它在一个地方被改变,那 么其它包括该变量的函数中都得改变,有时可能会出现意想不到情况。4.1.2 M文件的组成函数M文件实例:function f=fact (n)%函数定义行%Compute a factorial value%H1 行%FACT ( N)return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教育心理学考试备考题库及答案一套
- 常州人才科创集团有限公司招收就业见习人员笔试参考题库及答案解析
- 2026年对口单招外贸试题附答案
- 2026重庆工信职业学院招聘12人笔试备考题库及答案解析
- 2026年徐州幼儿师范高等专科学校单招职业适应性考试题库及答案1套
- 2026年小学生考试心理考试题库及参考答案
- 2026年心理普查考试题库参考答案
- 2026广东中山市东凤东海学校教师招聘8人笔试备考题库及答案解析
- 2026浙江台州浙江大学科技园发展有限公司招聘2人笔试参考题库及答案解析
- 2026广东江门市供销集团侨通农产品有限公司招聘业务岗1人笔试参考题库及答案解析
- 医院检查、检验结果互认制度
- 2026年高考化学模拟试卷重点知识题型汇编-原电池与电解池的综合
- 2025青海省生态环保产业有限公司招聘11人笔试历年参考题库附带答案详解
- 2025浙江杭州钱塘新区建设投资集团有限公司招聘5人笔试参考题库及答案解析
- 2025年天津市普通高中学业水平等级性考试思想政治试卷(含答案)
- 2025年昆明市呈贡区城市投资集团有限公司及下属子公司第二批招聘(11人)备考核心题库及答案解析
- 2025年中国磁悬浮柔性输送线行业市场集中度、竞争格局及投融资动态分析报告(智研咨询)
- 学堂在线 雨课堂 学堂云 科研伦理与学术规范 期末考试答案
- 基于单片机的智能家居控制系统设计
- 锅炉大件吊装方案
- 昆明医科大学第二附属医院进修医师申请表
评论
0/150
提交评论