欢迎来到天天文库
浏览记录
ID:51332141
大小:104.00 KB
页数:18页
时间:2020-03-10
《MatLab与控制系统仿真(重点编程).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章MatLab的程序设计MatLab是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言,MatLab更简单、编程的效率更高、调试过程也更容易。MatLab中的程序文件是以m为后缀,所以通常将MatLab的程序文件称为m文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型m文件。在MatLab中已经嵌入了一个功能强大的集成开发环境——m
2、文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。4.1MatLab程序设计基础通过前面内容的学习,大家对MatLab已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m文件,就是一个批处理程序,它是若干条命令的集合。例:4.1.1M文件规则和属性函数M文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括:1.函数名和文件名必须相同。例如,函数fliplr存储在名为fliplr.m文件中。2.MATLAB头一次执行
3、一函数个M文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函数M文件的引用,它们也同样被编译到存储器。普通的脚本M文件不被编译,即使它们是从函数M文件内调用;打开脚本M文件,调用一次就逐行进行注释。3.在函数M文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如,»helpfliplr返回上述前八行注释。4.第一行帮助行,名为H1行,是由lookfor命令搜索的行。5.函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。6
4、.函数可以按少于函数M文件中所规定的输入和输出变量进行调用,但不能用多于函数M文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开始所规定的数目,则调用时自动返回一个错误。相对于函数m文件,脚本式m文件就简单多了,它没有严格的格式要求,只要将有关的命令或函数一一敲入即可,但是还是有几个问题需要注意:1.m文件的名称不得与MatLab的内部函数同名、第一个字符不得为数字(这点与变量的命名规则相同);2.最好在文件的头部加上注释,对该m文件的作用、功能作一个简要说明,而在一些重
5、要命令行后也加上注释行,以方便使用者阅读、查找;3.要特别注意m文件的保存路径或位置,如果不是保存在MatLab默认的路径下,可以使用addpath函数来设置、添加路径,否则,m文件不能运行。脚本式m文件与函数m文件还有一个重要区别:脚本式m文件中的变量均为全局变量,而函数m文件中的变量则是局部变量。这可以从这两种程序文件运行后在Workspace中留下痕迹看出。当然,在函数m文件中也可以专门将某些变量定义为全局变量(关键字是:global)。不过,在使用全局变量(函数m文件中)时应特别注意:①.全局变量需要函数体的
6、变量赋值语句之前定义或说明;②.全局变量名最好是大写,而且要尽量长,能反映它本身的含义;③.实际编程时,全局变量也要尽可能少用,因为一旦它在一个地方被改变,那么其它包括该变量的函数中都得改变,有时可能会出现意想不到情况。4.1.2M文件的组成函数M文件实例:functionf=fact(n)%函数定义行%Computeafactorialvalue%H1行%FACT(N)returnthefactorialofN,%usuallydenotedbyN%帮助文本%Putsimply,FACT(N)isPROD(1:N)
7、%注释f=prod(1:N);%函数体一个完整的函数M文件通常包括:①.函数定义行:定义函数名以及输入、输出变量的数目和顺序;②.H1行:对该函数进行概括性的描述(可用help和Lookfor命令调出此行);③.帮助文本:这是比H1行更详细的帮助信息,使用help命令时与H1行一起显示;④.函数体:这是函数M文件的主要部分,程序的功能都在此部分实现;⑤.注释:对程序行的意义进行解释(与H1行一样都是用%开头)。有的函数M文件还包含return语句!4.1.3M文件编辑器介绍1.m文件编辑器的启动★在命令窗口中敲入:e
8、dit★点击工具栏中的新建图标★从菜单file/new/M-file中启动2.m文件编辑器的界面★菜单栏★工具栏★编辑窗口3.m文件的运行★在m文件编辑器内★在命令窗口中运行在命令窗口直接输入m文件名,回车即可,但函数m文件通常还必须带参数才能运行,也可以利用feval函数来运行函数m文件,其格式如下:feval('functionname',
此文档下载收益归作者所有