matlab函数定义如图,第一幅图的函数,如果调用的话是my=A(1,2);这种第二幅图的不懂,

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 09:39:14

matlab函数定义如图,第一幅图的函数,如果调用的话是my=A(1,2);这种第二幅图的不懂,
matlab函数定义




如图,第一幅图的函数,如果调用的话是my=A(1,2);这种

第二幅图的不懂,

matlab函数定义如图,第一幅图的函数,如果调用的话是my=A(1,2);这种第二幅图的不懂,
第二幅图的是嵌套函数(Nested Function).
 
嵌套函数是在另一函数内部定义的函数,和普通的函数主要有以下几点差别:
 
1、函数必须以end结束.只要某个M文件中使用的嵌套函数,则该文件内所有的函数都必须以end结束——无论该函数是否为嵌套函数.
 
2、调用规则:
嵌套函数按照以下的规则调用:
(1)外层的嵌套函数的直接内层,例如varScope1可以调nestfun1,而nestfun1可以调用nestfun2,但varScope1不能调nestfun2;
(2)有相同父函数的同层嵌套函数(本例不存在);
(3)内层的函数可以调用任何外层的函数,例如,nestfun2可以调用nestfun1和varScope1.
其他函数调用时,只能调最外面一层的函数(varScope1),而不能调用调nestfun1和nestfun2.
 
3、变量作用域:
通常,函数的工作区只对其自身可见,其他函数不能访问.但对于嵌套函数而言,处于内层的函数可以访问外层函数的工作区(例如,nestfun2可以访问varScope1的局部变量x),反之则不可以.