概述
脚本和函数
MATLAB® 提供了一个强大的编程语言和交互式计算环境。您可以使用此语言在 MATLAB 命令行中一次输入一个命令,也可以向某个文件写入一系列命令,按照执行任何 MATLAB 函数的相同方式来执行这些命令。使用 MATLAB 编辑器或任何其他文件编辑器可以创建您自己的函数文件。按照调用任何其他 MATLAB 函数或命令的相同方式来调用这些函数。
两种程序文件:
- 脚本,不接受输入参数或返回输出参数。它们处理工作区中的数据。
- 函数,可接受输入参数,并返回输出参数。内部变量是函数的局部变量。
如果您是新 MATLAB 程序员,您只需在当前文件夹中创建您希望尝试的程序文件。当您创建的文件越来越多时,您可能希望将这些文件组织到其他文件夹和个人工具箱,以便将其添加到您的 MATLAB 搜索路径中。
如果您复制多个函数名称,MATLAB 会执行在搜索路径中显示的第一个函数。
要查看程序文件(例如,myfunction.m)的内容,请使用
type myfunction
脚本
当调用脚本时,MATLAB 仅执行在文件中找到的命令。脚本可以处理工作区中的现有数据,也可以创建要在其中运行脚本的新数据。尽管脚本不会返回输出参数,其创建的任何变量都会保留在工作区中
,以便在后续计算中使用。此外,脚本可以使用 plot 等函数生成图形输出。
函数
函数是可接受输入参数并返回输出参数的文件。文件名和函数名称应当相同,函数处理其自己的工作区中的变量,此工作区不同于您在 MATLAB 命令提示符下访问的工作区。
rank 提供了一个很好的示例。文件 rank.m 位于文件夹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);
函数的第一行以关键字 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 中。如果未提供第二个输入参数
,此函数会运用默认值进行计算。
最后
以上就是糟糕导师为你收集整理的【MATLAB】脚本和函数(脚本和函数的使用方法和区别)的全部内容,希望文章能够帮你解决【MATLAB】脚本和函数(脚本和函数的使用方法和区别)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复