- 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程序流程控制
系统没有求阶乘的函数,问题如何解决?
设计一段独立计算阶乘的程序,然后调用这段程序计算阶乘。
将一个较大的问题,划分为若干个独立的小问题求解,小问题解决相对容易,只要解决了每一个小问题,整个问题即可解决。
您可能关注的文档
- Excel制表的技巧 46 网络应用超级链接.doc
- Excel制表的技巧 47 函数和数据库.doc
- Excel制表的技巧 49 函数应用.doc
- Excel制表的技巧 外部函数 数组公式.doc
- Excel制表的技巧 9 快速录入.doc
- Excel制表的技巧 60 数据排序.doc
- Excel的小的技巧.doc
- EXCEL经典的技巧63例.doc
- EXCEL统计图表的绘制使用的技巧.doc
- Excel表格的使用的技巧.doc
- 某镇领导班子2025年度民主生活会对照检查材料.docx
- 高级中学党政办公室主任2025年度述职述廉报告.docx
- 在镇“锤炼作风提效能,凝心聚力建新功”主题春训活动动员部署会上的讲话.docx
- 在2026年春季开学教职工会议上的讲话.docx
- 公司党支部2025年度组织生活会对照检查材料.docx
- 在树立和践行正确政绩观学习教育动员部署会议上的讲话.docx
- 专题党课:筑牢作风“防火墙” 展现司法新担当.docx
- 在树立和践行正确政绩观学习教育专题研讨会上的发言材料.docx
- 在公司2026年度党建暨党风廉政大会上的讲话.docx
- 在县委党的建设工作领导小组会议上关于开展树立和践行正确政绩观学习教育部署工作的讲话.docx
原创力文档

文档评论(0)