【MATLAB】脚本和函数(脚本和函数的使用方法和区别)
【MATLAB】脚本和函数(脚本和函数的使⽤⽅法和区别)
脚本和函数
MATLAB® 提供了⼀个强⼤的编程语⾔和交互式计算环境。您可以使⽤此语⾔在 MATLAB 命令⾏中⼀次输⼊⼀个命令,也可以向某个⽂件写⼊⼀系列命令,按照执⾏任何 MATLAB 函数的相同⽅式来执⾏这些命令。使⽤ MATLAB 编辑器或任何其他⽂件编辑器可以创建您⾃⼰的函数⽂件。按照调⽤任何其他 MATLAB 函数或命令的相同⽅式来调⽤这些函数。
两种程序⽂件:
脚本,不接受输⼊参数或返回输出参数。它们处理⼯作区中的数据。
函数,可接受输⼊参数,并返回输出参数。内部变量是函数的局部变量。
如果您是新 MATLAB 程序员,您只需在当前⽂件夹中创建您希望尝试的程序⽂件。当您创建的⽂件越来越多时,您可能希望将这些⽂件组织到其他⽂件夹和个⼈⼯具箱,以便将其添加到您的 MATLAB 搜索路径中。
如果您复制多个函数名称,MATLAB 会执⾏在搜索路径中显⽰的第⼀个函数。
要查看程序⽂件(例如,myfunction.m)的内容,请使⽤
type myfunction
脚本
当调⽤脚本时,MATLAB 仅执⾏在⽂件中到的命令。脚本可以处理⼯作区中的现有数据,也可以创建要在其中运⾏脚本的新数据。尽管脚本不会返回输出参数,其创建的任何变量都会保留在⼯作区中,以便在后续计算中使⽤。此外,脚本可以使⽤ plot 等函数⽣成图形输出。
函数
函数是可接受输⼊参数并返回输出参数的⽂件。⽂件名和函数名称应当相同,函数处理其⾃⼰的⼯作区中的变量,此⼯作区不同于您在MATLAB 命令提⽰符下访问的⼯作区。
rank 提供了⼀个很好的⽰例。⽂件 rank.m 位于⽂件夹toolbox/matlab/matfun
您可以使⽤以下命令查看⽂件
type rank
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);
函数的第⼀⾏以关键字 function 开头。它提供函数名称和参数顺序。本⽰例中具有两个输⼊参数和⼀个输出参数。
当键⼊以下命令时,会输出这些⾏
help rank
帮助⽂本的第⼀⾏是 H1 ⾏,当对⽂件夹使⽤ lookfor 命令或请求 help 时,MATLAB 会显⽰此⾏。
⽂件的其余部分是⽤于定义函数的可执⾏ MATLAB 代码。函数体中引⼊的变量 s 以及第⼀⾏中的变量(即 r、A 和 tol)均为函数的局部变量;他们不同于 MATLAB ⼯作区中的任何变量。
本⽰例演⽰了 MATLAB 函数不同于其他编程语⾔函数的⼀个⽅⾯,即可变数⽬的参数。可以采⽤多种不同⽅法使⽤ rank 函数:
rank(A)
r = rank(A)
r = rank(A,1.e-6)
许多函数都按此⽅式运⾏。如果未提供输出参数,结果会存储在 ans 中。如果未提供第⼆个输⼊参数,此函数会运⽤默认值进⾏计算。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。