这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » matlab中的函数

共1条 1/1 1 跳转至

matlab中的函数

院士
2011-03-03 10:57:13     打赏
函数是可以定义输入参数或返回输出变量的M-文件。M-文件和函数的名称必须一致。函数只执行自己工作空间内的变量,对于超越工作范围的变量,你要使用MATLAB命令提示符。

rank是一个很好的例子。rank.m文件可以在toolbox/matlab/matfun目录里获得。

toolbox/matlab/matfun

可用以下命令查看文件

type rank

以下是文件内容。

function r = rank(A,tol)
%   RANK Matrix rank.
%   RANK(A) provides an estimate of the number of linearly
%   independent rows or columns of a matrix A.
%   RANK(A,tol) is the number of singular values of A
%   that are larger than tol.
%   RANK(A) uses the default tol = max(size(A)) * norm(A) * eps.

s = svd(A);
if nargin==1
   tol = max(size(A)') * max(s) * eps;
end
r = sum(s > tol);

函数M-文件的第一行以关键字function开头。它给出函数名和变元的顺序。在此情况下,有最多两个输入变元和一个输出变元。

下面的几行,到第一个空格或可执行,都是提供帮助文本的注释行。输入以下语句则把这些行输出

help rank

帮助文件的第一行是H1行,当你用lookfor命令或在目录请求帮助时MATLAB会显示出。

文件其余部分是定义函数的可执行MATLAB代码。类似第一行的变量r,A和tol,函数体中引入的变量s对于函数也是局部变量;它们在MATLAB工作空间里独立于任何变量。

此例说明了MATLAB不同于其他程序语言的一个方面--一个可变的变元数目。有几种方法可以使用rank函数。

rank(A)
r = rank(A)
r = rank(A,1.e-6)

许多M-文件都这样工作。若无输出变元提供,结果保存于ans。若第二个输入变元未提供,则函数计算一个默认值。在函数体内,有两个名为nargin和nargout的数量可用,它们告诉你在某特定应用中输入或输出的变元个数。rank函数用nargin,不用nargout。




关键词: matlab     中的     函数    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]