作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 19:42:54
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),反之则不可以.
再问: 谢谢。 另外,是不是第一幅图中A,B是函数名,而x,y是返回值,p1,p2是输入参数。第二幅图中varScope1等是函数名,无返回值和输入参数。 设out是返回值,name是函数名,in是输入参数,是不是一个函数定义,可以仅包含函数名,或者函数名和返回值,或者包括三者? 也就是说只有函数名是必须的,其他的可选,任意组合?
再答: 基本正确。作为一个函数,函数名当然是必需的,而输入和输出参数则都是可选的,可以都没有,可以只有一种,也可以都没有,一共有四种情况。
再答: 说错了一点,应该是【也可以都有】。