Matlab中向脚本中添加函数

目录

向脚本中添加函数

创建包含局部函数的脚本

运行具有局部函数的脚本

局部函数和变量的限制

访问有关局部函数的帮助


向脚本中添加函数

        从 R2016b 开始,MATLAB® 脚本(包括实时脚本)可以包含用于定义函数的代码。这些函数称为局部函数。局部函数在您要重用脚本中的代码时很有用。通过添加局部函数,可以避免创建和管理单独的函数文件。在尝试不同函数时,局部函数也很有用,可根据需要轻松添加、修改和删除它们。

创建包含局部函数的脚本

        要创建包含局部函数的脚本或实时脚本,请转至主页选项卡,然后选择新建 > 脚本或新建 > 实时脚本。然后,向脚本中添加代码。在文件末尾的脚本代码后,添加所有局部函数。在局部函数之前包含至少一行脚本代码。每个局部函数必须以其自己的函数定义语句开头,以 end 关键字结尾。函数可以按任意顺序显示。

        例如,创建名为 mystats.m 的脚本。

edit mystats

        在文件中,包括两个局部函数,mymean 和 mymedian。脚本 mystats 声明一个数组,确定数组的长度,然后使用局部函数 mymean 和 mymedian 计算数组的平均值和中位数。

x = 1:10;
n = length(x);
avg = mymean(x,n);
med = mymedian(x,n);

function a = mymean(v,n)
% MYMEAN Local function that calculates mean of array.

    a = sum(v)/n;
end

function m = mymedian(v,n)
% MYMEDIAN Local function that calculates median of array.

    w = sort(v);
    if rem(n,2) == 1
        m = w((n + 1)/2);
    else
        m = (w(n/2) + w(n/2 + 1))/2;
    end
end

        当在实时脚本中添加局部函数时,MATLAB 会自动在第一个局部函数的定义之前添加一个分节符,并删除该函数后面的所有分节符。这是因为实时脚本不支持局部函数中的单个节。

运行具有局部函数的脚本

        要运行包含局部函数的脚本或实时脚本,请在编辑器实时编辑器选项卡中,点击  运行按钮。还可以在命令行窗口中键入已保存脚本的名称。

        要运行单个节,请将光标放在该节内,并使用  运行节按钮(.m文件需要 R2017b 或更高版本)。在 .mlx 文件中,只能运行位于局部函数定义之前的节。

局部函数和变量的限制

        局部函数仅在定义了这些函数的文件中可见。它们对其他文件中的函数不可见,并且不能从命令行窗口来调用。

        当前文件中的局部函数优先于其他文件中的函数。即,当在脚本内调用某个函数时,MATLAB 会先检查该函数是否为局部函数,然后在其他位置查找该函数。这样可以在创建特定函数的备用版本的同时,将原始版本保留在另一文件中。

        脚本可在基础工作区中创建变量并进行访问。局部函数与所有其他函数类似,具有与基础工作区分开的专属工作区。局部函数无法访问其他函数的工作区或基础工作区中的变量,除非将这些变量作为参数传递。

访问有关局部函数的帮助

        虽然不能从命令行或其他文件中的函数调用局部函数,但可以使用 help 命令访问其帮助。同时指定脚本和局部函数的名称,用 > 字符将它们隔开。

        例如:

help mystats>mymean
 mymean Local function that calculates mean of array.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值