matlab 各类函数区别定义
主函数(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 各类函数区别定义相关推荐
- 使用matlab定义函数极限,MATLAB在函数极限定义教学中的应用
龙源期刊网 http://www.doczj.com/doc/863ba24b195f312b3169a5c0.html MATLAB在函数极限定义教学中的应用 作者:赵志芳 来源:<外语学法教 ...
- MATLAB各类函数详细讲解 simulike系统仿真分析
http://item.taobao.com/item.htm?spm=a230r.1.14.40.yWjJFw&id=43113292964&ns=1&abbucket=2& ...
- matlab匿名函数方式定义函数,在matlab中定义函数添加@(x)——匿名函数
f=@(x)acos(x) 表示 f 为函数句柄,@是定义句柄的运算符.f=@(x)acos(x) 相当于建立了一个函数文件:% f.mfunction y=f(x)y=acos(x); @是匿名函 ...
- matlab中函数的定义和使用
在matlab的选择框中的的新建中选择新建函数,一般是以.m的文本文件,新建后我们可以在里面写入我们的实现函数,现在我们给出两个实例看一下,分别是简单的求和和Fibonacci sequence. 1 ...
- MATLAB怎么新建头文件,头文件()包含了C++的MATLAB引擎函数的定义。
头文C是. ,含函数<望杜甫胸有岳>中",定会到人的风欣赏就一景灿烂生最,鲜花也有荆棘)人生路上有. 心忧炭贱寒"愿天,的的定翁>代诗的矛盾心卖炭卖炭)唐绘了&q ...
- MATLAB plot函数
MATLAB plot函数 this article comes from my blog :MATLAB plot()函数 详解 文章目录 MATLAB plot函数 1. 定义 2.调用格式 1. ...
- Matlab中function定义的函数与匿名函数区别一
匿名函数可以直接得到函数句柄,而function定义的函数需要使用@运算符得到函数句柄. 示例一: % Matlabf = @(x)(exp(-0.2*x).*sin(x+2)-0.1); fplot ...
- matlab 函数 未定义,matlab一直说我未定义函数或变量x怎么办?
你有没有给x赋值?没有的话,函数g(x)没法调用参数x就出错了.例如试试:12x = 1:10;g(x)www.mh456.com防采集. 首先你这个函数写的是2113没问题,我感觉你的5261基础不 ...
- Matlab funnction函数定义及常见扩展应用(@函数句柄,feval函数等)
目录 MATLAB函数定义: 1.函数文件+调用函数文件:定义多个M文件: 2.函数文件+子函数:定义一个具有多个子函数的M文件 3.Inline:无需M文件,直接定义: 4. 匿名函数 5.Syms ...
最新文章
- 1.IocDI和Spring
- python ocr 识别中文pdf_轻松识别文字,这款Python OCR库支持超过80种语言
- 学计算机去大工中大,厦门大学和大连理工大学你 选哪个?哪个好。厦门大学和东南大学、天津大学、武汉大学、中山大学去那个...
- Beginning SDL 2.0(4) YUV加载及渲染
- 数据结构:(4)算法及其描述
- SpringBoot整合Editor.md实现Markdown编辑器
- 创业公司引导页html5模板
- html编辑器后怎么使用,html在线编辑器怎么用
- ORCALE SYNONYM SEQUENCE
- 按钮下载Eclipse Color Theme
- 2018年宝鸡市三检文科数学题目解答
- mergsort.c
- android平台malloc_debug使用方法(含测试代码)
- w ndows10怎么关闭启动项,Windows10系统移除启动项无用项目的三种方法
- Linux系统故障分析与排查
- 【译】网页像素追踪原理
- 语音识别-关键词检测
- qnx 镜像文件_QNX开发最完整图文教程(官方文档,非官方翻译)
- PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)
- CF Round231C (ZWJ 神构造)