主函数(Primary function)

l  (一般)与保存文件同名的那个函数;

l  在当前目录、搜索路径上,列出文件名的函数;

l  在指令窗中或其他函数中,可直接调用的函数;

l  函数M文件中,由第一个function 引出的函数。

(  采用 help functionname 可获取函数所携带的帮助信息。)

子函数(Subfunction)

l  子函数不独立存在,只能寄生在主函数体内;

l  在函数文件中,由非第一个function引出的函数;

l  一个M函数文件可以包含多个子函数;

l  子函数只能被其所在的主函数和其他“同居”子函数调用;

l  子函数可以出现在主函数体的任何位置,其位置先后与调用次序无关。

l  在M函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次于内装函数。

l  同一文件的主函数、子函数的工作空间都是彼此独立的。各函数间的信息,或通过输入输出宗量传递,或通过全局变量传递,或通过跨空间指令传递。

l  采用help functionname/subfunctionname 可获取子函数所带的帮助信息。

嵌套函数(Nested function)

l  在函数文件中,由非第一个function引出,并以end为结尾的函数;

l  一个M函数文件可以包含多个嵌套函数;

l  主函数一旦包含嵌套函数,就必须在整个函数文件的结尾使用end,以结束主函数及其所有附带的函数;

l  嵌套函数只能被其“直系父、子”或“亲兄弟”函数调用;

l  采用help functionname/nestedfunctionname 可获取嵌套函数所带的帮助信息。

嵌套函数的调用规则

 1 function A(x, y)             % 主函数
 2     B(x, y);                        % 只能调用“子B”;不能调用“孙C”
 3     D(y);                            % 只能调用“子D”;不能调用“孙E”
 4     function B(x, y)     % “子”嵌套函数 B
 5     C(x);                        % 调用“子C”
 6     D(y);                        % 调用“兄D”;不能调用“侄E”
 7         function C(x)     % “孙”嵌套函数 C
 8         D(x);                    %    调用“叔D”
 9         end
10     end
11     function D(x)         % “子”嵌套函数 D
12         E(x);                        % 调用“子E”
13         function E             % “孙”嵌套函数 E
14         ...
15         end
16     end
17 end
18
19
20 嵌套函数的变量定义范围。
21 function exm06044_2_1
22     x = 5;        % 在主函数中定义的变量 x
23     nestfun1
24     function nestfun1
25         nestfun2
26         function nestfun2
27         x = x + 1        %在“孙”嵌套函数中,可以寻访、修改。
28         end
29     end
30 end
31
32
33 function exm06044_2_2
34     nestfun1
35     function nestfun1
36         nestfun2
37         function nestfun2
38         x = 5;        %在“孙”嵌套函数中,定义的变量 x
39         end
40     end
41     x = x + 1                %在主函数中,可以寻访、修改。
42 end
43
44 function exm06044_2_3
45     nestfun1
46     nestfun2
47     function nestfun1
48     x = 5;                %在“兄”嵌套函数中,定义变量 x
49     end
50     function nestfun2
51     x = x + 1            %在“弟”嵌套函数中,不能寻访、修改 x
52     end
53 end

〖说明〗

l  嵌套函数有自己的内存空间,但与其直系函数的内存空间之间存在同名变量接口。

l  兄弟嵌套函数各具独立的内存空间,各自空间内的同名变量相互独立,没有任何联系。

私用函数(Private function)

l  在名为Private的子文件夹上的M函数文件;

l  私用函数的构造与普通M函数完全相同。

l  私用函数只能被其直接“父”文件夹上函数文件所调用。

l  M文件中,任何指令通过“名字”对函数进行调用时,私用函数的优先级虽低于内装函数和子函数,但高于其他任何目录上的函数。

l  私用函数的帮助信息可用以下指令获得

help private/myprivfun

匿名函数(Anonymous function)

l  不以M文件形式驻留在文件夹上的函数;

l  可在指令窗或任何函数体内直接通过指令生成的函数。

l  创建匿名函数的方法

n  在指令窗或任何M文件中,运行以下指令

fhandle = @(arglist) expr

fhandle     属函数句柄数据类型

arglist     匿名函数的输入量

expr     用输入量构成的函数表达式

n  调用格式

fhandle(arglist)

l  匿名函数expr中,除了输入变量arglist外的其他变量必须是已经被赋值的,并从此在该匿名函数的整个存在期间保持不变,不管该匿名函数在以后调用时那些变量自身值是否已经变化或甚至不再存在。

转载于:https://www.cnblogs.com/jocobHerbertPage/archive/2012/09/26/2704796.html

matlab 各类函数区别定义相关推荐

  1. 使用matlab定义函数极限,MATLAB在函数极限定义教学中的应用

    龙源期刊网 http://www.doczj.com/doc/863ba24b195f312b3169a5c0.html MATLAB在函数极限定义教学中的应用 作者:赵志芳 来源:<外语学法教 ...

  2. MATLAB各类函数详细讲解 simulike系统仿真分析

    http://item.taobao.com/item.htm?spm=a230r.1.14.40.yWjJFw&id=43113292964&ns=1&abbucket=2& ...

  3. matlab匿名函数方式定义函数,在matlab中定义函数添加@(x)——匿名函数

    f=@(x)acos(x) 表示 f 为函数句柄,@是定义句柄的运算符.f=@(x)acos(x) 相当于建立了一个函数文件:% f.mfunction  y=f(x)y=acos(x); @是匿名函 ...

  4. matlab中函数的定义和使用

    在matlab的选择框中的的新建中选择新建函数,一般是以.m的文本文件,新建后我们可以在里面写入我们的实现函数,现在我们给出两个实例看一下,分别是简单的求和和Fibonacci sequence. 1 ...

  5. MATLAB怎么新建头文件,头文件()包含了C++的MATLAB引擎函数的定义。

    头文C是. ,含函数<望杜甫胸有岳>中",定会到人的风欣赏就一景灿烂生最,鲜花也有荆棘)人生路上有. 心忧炭贱寒"愿天,的的定翁>代诗的矛盾心卖炭卖炭)唐绘了&q ...

  6. MATLAB plot函数

    MATLAB plot函数 this article comes from my blog :MATLAB plot()函数 详解 文章目录 MATLAB plot函数 1. 定义 2.调用格式 1. ...

  7. Matlab中function定义的函数与匿名函数区别一

    匿名函数可以直接得到函数句柄,而function定义的函数需要使用@运算符得到函数句柄. 示例一: % Matlabf = @(x)(exp(-0.2*x).*sin(x+2)-0.1); fplot ...

  8. matlab 函数 未定义,matlab一直说我未定义函数或变量x怎么办?

    你有没有给x赋值?没有的话,函数g(x)没法调用参数x就出错了.例如试试:12x = 1:10;g(x)www.mh456.com防采集. 首先你这个函数写的是2113没问题,我感觉你的5261基础不 ...

  9. Matlab funnction函数定义及常见扩展应用(@函数句柄,feval函数等)

    目录 MATLAB函数定义: 1.函数文件+调用函数文件:定义多个M文件: 2.函数文件+子函数:定义一个具有多个子函数的M文件 3.Inline:无需M文件,直接定义: 4. 匿名函数 5.Syms ...

最新文章

  1. 1.IocDI和Spring
  2. python ocr 识别中文pdf_轻松识别文字,这款Python OCR库支持超过80种语言
  3. 学计算机去大工中大,厦门大学和大连理工大学你 选哪个?哪个好。厦门大学和东南大学、天津大学、武汉大学、中山大学去那个...
  4. Beginning SDL 2.0(4) YUV加载及渲染
  5. 数据结构:(4)算法及其描述
  6. SpringBoot整合Editor.md实现Markdown编辑器
  7. 创业公司引导页html5模板
  8. html编辑器后怎么使用,html在线编辑器怎么用
  9. ORCALE SYNONYM SEQUENCE
  10. 按钮下载Eclipse Color Theme
  11. 2018年宝鸡市三检文科数学题目解答
  12. mergsort.c
  13. android平台malloc_debug使用方法(含测试代码)
  14. w ndows10怎么关闭启动项,Windows10系统移除启动项无用项目的三种方法
  15. Linux系统故障分析与排查
  16. 【译】网页像素追踪原理
  17. 语音识别-关键词检测
  18. qnx 镜像文件_QNX开发最完整图文教程(官方文档,非官方翻译)
  19. PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)
  20. CF Round231C (ZWJ 神构造)

热门文章

  1. ldap服务器签名要求修改,2020 针对 Windows 的 LDAP 通道绑定和 LDAP 签名要求
  2. 远程登陆路由器和交换机
  3. 高通骁龙888 5G移动平台性能详解:能否发发发 这些是关键
  4. 学术PPT之演示技巧
  5. AI工具:通过智能实现工作和学习效率的革命化
  6. Halcon条码定位算法(一维码)
  7. 国内访问github加速方案
  8. 联想计算机无法启动怎么办,联想电脑开不了机怎么办
  9. 【政策汇总】少儿编程能否成为未来学习趋势?
  10. fastq质量值_FASTQ格式解释和质量评估