- 函数文件的基本结构
function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 说明:(1)通常函数名与M文件名相同,若不同,通过文件名调用。 (2)关于注释说明: 第一行:大写函数文件名与函数功能简要描述,lookfor关键词查询和help在线帮助时使用。 第一行以后:输入出的参数含义及调用格式说明等。构成在线帮助文本。 第三部分:与上部分空格行,编写日期版本编者等。 (3):关于return:遇到后返回调用函数前的工作空间位置。
- 例:编写函数文件,求半径为r的圆周面积和周长。文件如下:
function[s,p]=fcircle(r) %FCIRCLE calculate the area and perimeter of a circle of radii r %r 圆半径 %s 圆面积 %p 圆周长 %2006年2月30日编 s=pi*r*r; p=2*pi*r; 将以上文件以fcircle保存,然后在MATLAB命令窗口调用该函数: >> [s,p]=fcircle(10) s = 314.1593 p = 62.8319
>> help fcircle
fcircle calculate the area and perimeter of a circle of radii r
r 圆半径
s 圆面积
p 圆周长
>> lookfor fcircle
fcircle - calculate the area and perimeter of a circle of radii r
- 利用函数的递归调用,求n!
-
function f=factor(n) %FACTOR 求阶乘输入一个数字返回这个数的阶乘 %factorial 阶乘 %2014/9/26编写 韩晓东 if n<=1 f=1; else f=factor(n-1)*n;%递归调用求(n-1)!; end 命令文件调用 %求1到5的阶乘和 s=0; for i=1:5 s=s+factor(i); end s s= 153
- 函数调用
函数调用的一般格式: [输出输出表,号隔开]=函数名(输入实参表) 说明:实参与形参的顺序个数当一致;
- 函数参数的可调(tiao)性
MATLAB用两个预定义变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。在函数文件中包含这两个变量可以知道函数被调用时的输入出参数个数,从而决定函数如何进行处理。
nargin和nargout的用法示例:
function fout=charray(a,b,c) if nargin==1 fout=a; elseif nargin==2 fout=a+b; elseif nargin==3 fout=(a*b*c)/2; end
调用:
>> x=[1:3];
y=[1;2;3];
example(x)
example(x,y')
example(x,y,3)
ans =
1 2 3
ans =
2 4 6
ans =
21
- 全局变量
全局变量用global定义:
global 变量名
- MATLAB程序调试的几种方法:
一:M文件下界面使用图形界面的debug调试;
二:调试命令