脚本和函数
概述
MATLAB? 产品提供了一个强大的编程语言和交互式计算环境 。您可以使用此语言在 MATLAB 命令行中一次输入一个命令,也可以向某个文件写入一系列命令,按照执行任何 MATLAB 函数的相同方式来执行这些命令 。使用 MATLAB 编辑器或任何其他文件编辑器可以创建您自己的函数文件 。按照调用任何其他 MATLAB 函数或命令的相同方式来调用这些函数 。
两种程序文件:
- 脚本,不接受输入参数或返回输出参数 。它们处理工作区中的数据 。
- 函数,可接受输入参数,并返回输出参数 。内部变量是函数的局部变量 。
如果您复制多个函数名称,MATLAB 会执行在搜索路径中显示的第一个函数 。
要查看程序文件(例如,
myfunction.m
)的内容,请使用type myfunction脚本
当调用脚本时,MATLAB 仅执行在文件中找到的命令 。脚本可以处理工作区中的现有数据,也可以创建要在其中运行脚本的新数据 。尽管脚本不会返回输出参数,其创建的任何变量都会保留在工作区中,以便在后续计算中使用 。此外,脚本可以使用
plot
等函数生成图形输出 。例如,创建一个名为
magicrank.m
的文件,该文件包含下列 MATLAB 命令:% Investigate the rank of magic squaresr = zeros(1,32);for n = 3:32r(n) = rank(magic(n));endrbar(r)键入语句
magicrank使 MATLAB 执行命令、计算前 30 个幻方矩阵的秩,并绘制结果的条形图 。执行完文件之后,变量
n
和 r
将保留在工作区中 。文章插图
函数
函数是可接受输入参数并返回输出参数的文件 。文件名和函数名称应当相同 。函数处理其自己的工作区中的变量,此工作区不同于您在 MATLAB 命令提示符下访问的工作区 。
rank
提供了一个很好的示例 。文件 rank.m
位于文件夹toolbox/matlab/matfun您可以使用以下命令查看文件
type rank下面列出了此文件:
【matlab的脚本和函数】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==1tol = max(size(A)') * max(s) * eps;endr = 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)许多函数都按此方式运行 。如果未提供输出参数,结果会存储在
推荐阅读
- cdytn90是华为什么型号手机
- 绥芬河流入哪个国家
- 牛仔裤容易皱是不是不好
- 怎么用彩泥做可爱的小牛
- 迈腾车内如何开启后备箱
- 速冻水饺怎么煮
- 用周字取一个微信名
- 长安cs35定速巡航怎么用法
- qq一直闪退怎么办OPPO