MATLAB 程序的设计.docVIP

  • 14
  • 0
  • 约8.95千字
  • 约 20页
  • 2018-06-03 发布于福建
  • 举报
MATLAB 程序的设计

MATLAB 程序设计 MATLAB作为一种高级语言,它同其他高级计算机语言一样进行控制流的程序设计,即编制一种以m为扩展名的33文件,简称为M文件。由于MATLAB本身的一些特点,M文件的编制同其他语言比较起来,有许多优点,如语言简单、可读性强、调试容易及调用方便等 5.1脚本文件和函数文件 MATLAB程序代码所编写的文件通常以.m为扩展名,因此这些文件称为M文件。M文件有两种形式:M脚本文件和M函数文件。M函数文件是MATLAB程序设计的主流。MATLAB本身的一系列工具箱的各种内部函数就是M函数文件,用户可以为某种目的专门编写一组MATLAB函数文件组成工具箱。 5.1.1M文件编辑器 5.1.2M文件的基本格式 M文件中有两种形式(扩展名均为.m) 命令文件(ScriptFile)也叫做脚本文件 函数文件(FunctionFile) 命令式文件就是命令行的简单叠加,MATLAB会自动按顺序执行文件中的命令。 函数式文件主要用以解决参数传递和函数调用的问题,它的第一句以function语句为引导。 函数声明行 H1行(用%开头的注释行):帮助信息的第一行,用于提示函数的功能,当用命令Lookfor查询该函数的帮助信息时将显示该行内容;help命令显示M文件的第一个连续注释块。 函数体 注意:命令式M文件在运行过程中可以调用MATLAB工作域内所有的数据,而且产生的所有变量均为全局变量。在函数式文件中的所有变量除特殊声明外,均为局部变量。 5.1.3M脚本文件(命令式文件) 1、建立 2、内容: 按照程序的功能,依据MATLAB的程序结构,组织成合法的MATLAB命令。 3、运行 格式:在命令窗口直接键入文件名.m4、说明(特点) (1)脚本文件中的命令格式和前后位置,与在命令窗口中输入的没有任何区别。 (2)MATLAB在运行脚本文件时,只是简单地按顺序从文件中读取一条条命令,送到MATLAB窗口中去执行。 (3)与在命令窗口中直接运行命令一样,脚本文件运行产生的变量都是驻留在MATLAB的工作空间中,可以很方便地查看变量,除非用clear命令清除;脚本文件的命令也可以访问工作空间的所有数据,因此要注意避免变量的覆盖而造成程序出错。 5、举例:画出函数图形 脚本m文件的内容:y=1./(1+exp(-x))保存文件名juli1.m 在工作窗口下定义:x=0:1/20:20 运行脚本文件(juli1)得到函数值y用plot(x,y)画出对应的图形。 5.1.4M函数文件 1、建立 2、注意: (1)第一行总是以function引导的函数声明行。 (2)函数文件在运行过程中产生的变量都存放在函数本身的工作空间。 (3)当文件执行完最后一条命令或遇到return命令时,就结束函数文件的运行,同时函数工作空间的变量被清除。 (4)函数的工作空间随具体的M函数文件调用而产生,随调用结束而删除,是独立的、临时的,在MATLAB运行过程中可以产生任意多个临时的函数空间。 输出参数:函数m文件的运算结果传到调用出,当参数不只一个时,用逗号隔开; 输入参数:用中括号[]括起来,参数之间、两两之间用逗号隔开; 函数名命名规则同变量名。(以字母,下划线和数字组成) 函数文件名由函数名再加后缀组成; 文件编辑、保存和运行同命令文件; 函数文件中定义变量为局部变量,函数文件命令运行结束,该类变量会自动释放。如果变量在程序运行前就已存在的话,程序运行后它不会受到影响。 3、应用举例 (1)打开M编辑器,编写如下程序; functionf=fibfun(n) %FIBFUNForcalculatingFibonaccinumbers. %Incidengtally,thenameFibonaccicomesfrom %FiliusBonassi,orsoofBonassin %fibfun.mifn2f=fibfun(n-1)+fibfun(n-2); elsef=1; end 编写完毕后,以fibfun.m文件名存盘。 然后在MATLAB主命令窗口中执行如下程序: fibfun(17) ans= 1597functiony=Juli3(zeta) %二阶系统时域响应曲线 %Juli3Stepresponseofquadraticsystem. % x=0:0.1:20; y=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta)) plot(x,y) 5.2程序流程控制 系统没有求阶乘的函数,问题如何解决? 设计一段独立计算阶乘的程序,然后调用这段程序计算阶乘。 将一个较大的问题,划分为若干个独立的小问题求解,小问题解决相对容易,只要解决了每一个小问题,整个问题即可解决。

文档评论(0)

1亿VIP精品文档

相关文档