MatLab与控制系统仿真(重点编程_第1页
MatLab与控制系统仿真(重点编程_第2页
MatLab与控制系统仿真(重点编程_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论