专栏首页matlab爱好者你了解matlab局部函数吗?

你了解matlab局部函数吗?

函数,是编程中不可或缺的利剑。使用函数具有降低代码冗余、减少书写工作量、增强代码可读性和便于第三方管理等优势。在matlab编程中,函数更是扮演着重要角色,平常所使用的各种命令都是函数。当然,matlab中函数有很多种分类,今天不去细说,我们只谈局部函数(Local Function)。 不知小伙伴现在使用的是哪个版本的matlab,matlab虽随着版本更新所占用存储空间越来越大,但版本的更新带来的是bug修复、函数的优化、功能的升级或增加,其实大家在安装matlab时不用选择自己平时用不到的工具箱占用空间还是没有那么大的。在matlab 2016b版及更高版本中,引入可在脚本或实时脚本中直接添加局部函数的功能,不知道小伙伴有没有使用过。

什么是局部函数呢?局部函数就是在某个局部范围内起作用的函数,超出作用范围,将不能被使用。通过添加局部函数,可以避免创建和管理单独的函数文件,可使代码编写一气呵成。局部函数仅在定义了这些函数的文件中对脚本代码和文件中的其他局部函数可见。它们对其他文件中的函数不可见,并且不能通过命令行来调用。它们等效于其他编程语言的子例程,有时被称为子函数。表1给出了脚本中不含函数和含函数的区别。

表1 脚本中添加函数与否的区别

从表中可以看出,脚本中不含函数时,函数以单独的m文件来存放,而脚本含函数时,只需要一个m文件即可。

下面再来说说函数的调用优先级,脚本中的局部函数>m文件工作路径中的独立函数>搜索路径中的函数,由此可以看出来,如果脚本的有函数名与其所在路径中函数同名时,将直接调用脚本中函数而不使用其工作路径中的同名函数。

下面给出一个小小的示例:

% MATLAB 2016b及更高版本中,函数可以直接包含在脚本或实时脚本中

x = 1:10;
n = length(x);
sd = stdFun(x);
% 以下是脚本中添加的函数
function re = stdFun(x)
% MYMEAN Example of a local function.
re = sqrt(sum((x-mean(x)).^2)/(length(x)-1));
end

从上面的简述中也可清晰地知道,添加在脚本中的函数只在脚本内部起作用,如果所写的函数需要被多个文件调用时,建议还是写成独立的函数文件。

本文分享自微信公众号 - matlab爱好者(matlabaihaozhe),作者:matlab爱好者

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • matlab常用函数

    感谢大家关注matlab爱好者,今天给大家介绍一下matlab编程中常用的函数。在聊天栏中回复“005”或“函数”即可快速获取本视频。在腾讯视频搜索“matla...

    艾木樨
  • 32个实用matlab编程技巧

    今天给大家介绍一些编程小技巧,之前给大家介绍过matlab编程小技巧,本期是在之前的基础之上做了修正和补充完善,下面一起来看看吧。

    艾木樨
  • 遗传算法(二)

    在上一节中我给大家讲解了如何安装遗传算法工具箱,并给出了代码,今天我就给大家讲解一下如何使用工具箱,并且讲解一下遗传算法的使用。还是按照上次的代码。

    艾木樨
  • 前端基础-JavaScript函数

    *返回值详解: ** 如果函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined 如果函数使用 return语句,那么跟再ret...

    cwl_java
  • 浅谈如何定义和调用Python的函数

    函数是python编程核心内容之一,笔者在本文中主要介绍下函数的概念和基础函数相关知识点。函数是什么?有什么作用、定义函数的方法及如何调用函数。 函数是可以实现...

    企鹅号小编
  • Java script中的函数使用方法

    汤清丽
  • JavaScript 匿名函数

    在上一篇写了行间事件提取之后,可以发现其实此时函数的名称并不重要,应该可以不写函数名称就不写。

    Devops海洋的渔夫
  • 写 Python 代码不可不知的函数式编程技术

    近来,越来越多人使用函数式编程(functional programming)。因此,很多传统的命令式语言(如 Java 和 Python)开始支持函数式编程技...

    OpenCV学堂
  • 7.3 函数总结

    (2)如果使用库函数,应该在本文件开头用#include指令将调用有关库函数时所需用到的信息“包含”到本文件夹中来。

    闫小林
  • 五撩Python

    重复,再重复,你就是专家。 --曾子 1、起手 来说函数。 2、函数 函数就是整理好的一堆可重用的代码,有输入,然后就有输出。 比如我们计算折扣,输入是消费者的...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券