MATLAB 自定义函数及局部变量
2009-11-20 09:17
在开始学习 MATLAB 的时候并没有发现这个软件有着这么强大的功能,随着课题
的不断深入,也在逼迫着自己不断的去应用新的公式并开发新的算法,这就牵涉
到了如何在 MATLAB 中自定义函数的问题,随之而来自然就是所有编程语言所面
临的问题,函数调用、局部变量等等。下面就我自己整理的一些心得与大家交流。
希望对你也有所帮助。
(1) 函数定义行:function[out1,out2,..]=filename(in1,in2,..),输入
和输出参数个数分别由 nargin 和 nargout 两个 MATLAB 保留的变量来给出。
(2) 第一行帮助行,以%开头,作为 lookfor 指令搜索的行
(3) 函数体说明及有关注解:以(%)开头,用以说明函数的作用及有关内
容。如果不希望显示某段信息,可在它的前面加空行
(4) 函数体:函数体内使用的除返回和输入变量这些在 function 语句中直
接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会
自动在 MATLAB 的工作空间中清除掉。如果希望这些中间变量成为在整个程序中
都起作用的变量,则可以将它们设置为全局变量。
% MYHILB 是一个示范性的 M-function.
% A=MYHILB(N, M) 会生成一个 N×M 的 Hilbert 矩阵 A.
% A=MYHILB(N)会生成一个 N×N 的 Hilbert 矩阵.
% MYHILB(N,M) 仅仅显示一个 Hilbert 矩阵,而不会返回任何矩阵。
%这些内容在用 help 时不会显示
if nargout>1, error('Too many output arguments.'); end
if nargin==1, m=n;
elseif nargin==0 | nargin>2
error('Wrong number of iutput arguments.');