如何规范地编写一个MATLAB函数文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何规范地编写⼀个MATLAB函数⽂件
在matlab中,M⽂件分为脚本⽂件和函数⽂件。

如果M⽂件的第⼀个可执⾏语句以function开头,那这个M⽂件就是函数⽂件。

函数⽂件内定义的变量为局部变量,只在函数⽂件内部起作⽤,当函数⽂件执⾏完后,这些内部变量将被清除。

本⽂介绍如何规范地编写⼀个函数⽂件。

通常,函数⽂件由函数声明⾏、H1⾏、在线帮助⽂本区、编写和修改记录、函数主体等⼏个部分组成。

格式如下:
function 输出形参表 = 函数名(输⼊形参表)
在线帮助⽂本区,其中第⼀⾏为H1⾏
编写和修改记录
函数主体
函数声明⾏
1. 由关键字function引导,指明这是⼀个函数⽂件,并定义函数名、输⼊参数和输出参数。

2. 函数名应当与⽂件名⼀致(保存函数⽂件时会默认以函数名作为⽂件名予以保存),如果两者不⼀致,MATLAB将以⽂件名为准,以后调⽤时使⽤⽂件名调⽤该函数。

3. 在脚本⽂件中编写函数时,需以end结尾;独⽴的函数⽂件不需以end结尾。

4. MATLAB中的函数⽂件名必须以字母开头,可以是字母、下划线、数字的任意组合,但不可以超过31个字符。

H1⾏
1. 紧随函数声明⾏之后的以“%”开头的第⼀注释⾏。

2. H1⾏包括⼤写的函数名和函数功能简要描述,采⽤lookfor命令可在命令⾏窗⼝显⽰H1⾏的信息。

3. 建议在编写H1注释⾏时,尽量采⽤英⽂表述,这是为了之后的使⽤过程中关键词检索的⽅便。

在线帮助⽂本区
1. 包括H1⾏以及H1⾏之后的连续的以“%”开头的注释⾏。

2. 通常包括函数输⼊变量和输出变量的含义以及调⽤说明。

3. 采⽤help命令可在命令⾏窗⼝显⽰在线帮助⽂本区的信息。

编写和修改记录
1. 与在线帮助⽂本区以⼀个空⾏相隔。

2. 该⾏以“%”开头,记录了编写及修改函数⽂件的作者、⽇期、版本等内容,以⽅便后来的使⽤查询或修改。

函数主体
1. 应与编写和修改记录以⼀个空⾏相隔。

2. 这部分内容包括了所有实现该函数⽂件功能的MATLAB指令。

例:完整的函数⽂件⽰范。

1function spir_len = spirallength(d, n, lcolor)
2% SPIRALLENGTH plot a circle of radius as r in the provided color and calculate its area
3%输⼊参数:
4% d: 螺旋的旋距
5% n: 螺旋的圈数
6% lcolor:画图线的颜⾊
7%输出参数:
8% spir_len:螺旋的周长
9%调⽤说明:
10% spirallength(d,n):以参数d,n画螺旋线,螺旋线默认为蓝⾊
11% spirallength(d,n,lcolor):以参数d,n,lcolor画螺旋线
12% spir_len = spirallength(d,n):计算螺旋线的周长,并以蓝⾊填充螺旋线
13% spir_len = spirallength(d,n,lcolor):计算螺旋线的周长,并以lcolor颜⾊填充螺旋线
14
15%版本号V1.0,编写于1999年9⽉9号,修改于1999年9⽉10号,作者:亚索
16
17if nargin >3
18 error('输⼊变量过多!');
19 elseif nargin ==2
20 lcolor ='b'; %默认情况下为蓝⾊
21end
22
23 j =sqrt(-1);
24 phi =0 : pi/1000 : n*2*pi;
25 amp =0 : d/2000 : n*d;
26 spir = amp .*exp(j*phi);
27
28if nargout ==1
29 spir_len =sum(abs(diff(spir)));
30 fill(real(spir), imag(spir), lcolor);
31 elseif nargout ==0
32 plot(spir, lcolor);
33else
34 error('输出变量过多!');
35end
36
37 axis('square');
在命令⾏窗⼝中输⼊:
1 spirallength(0.25,4)
输出结果如图:
在命令⾏窗⼝输⼊:
1 spir_len = spirallength(0.25,4)
输出的结果不仅包括上图,⽽且还在命令⾏窗⼝显⽰spir_len=12.6542。

函数参数指令集
nargin:表⽰⼀个变量,指定调⽤函数所带参数的个数
nargout:表⽰⼀个变量,指定调⽤函数所返回的参数的个数
本⽂完。

1.编写test函数
1function[o,p,q,r]= test( n )%%%%%%%%%%%%%%%编写function test函数
2
3%%%%%%%%%%%%%%%%%%%%%%test函数变量为n,返回值为o,p,q,r
4
5 o=0;
6 p=0;
7 q=6;
8 r=128;
9for i =1:n
10 o = o + i;
11 p=p+1;
12 q=q.*n
13 r=r.^0.2
14
15
16end
2.调⽤tset函数的main函数
1 clear all;
2 clear clc;
3[a,b,q,r]= test(10)%%%%%%%%%%%%%%%%%%调⽤test函数n=10,a,b,q,r四个为n=10的test函数的返回值!。

相关文档
最新文档