matlab主函数怎么写( 二 )


初步想了一下 , 可以通过两种形式实现: 1、在主函数中定义全局变量 但是这里需要注意的是全局变量y的定义必须包括在主函数的代码段中 , 如果放在主函数之外 , 或者定义在子函数中就无法被整个进程中的代码全局识别 。2、利用新的子函数定义来间接引入全局变量 。
调用规则: 外层的嵌套函数的直接内层 , 例如varScope1可以调nestfun1 , 而nestfun1可以调用nestfun2 , 但varScope1不能调nestfun2; 有相同父函数的同层嵌套函数(本例不存在); 内层的函数可以调用任何外层的函数 , 例如 , nestfun2可以调用nestfun1和varScope1 。其他函数调用时 , 只能调最外面一层的函数(varScope1) , 而不能调用调nestfun1和nestfun2 。
变量作用域: 通常 , 函数的工作区只对其自身可见 , 其他函数不能访问 。但对于嵌套函数而言 , 处于内层的函数可以访问外层函数的工作区(例如 , nestfun2可以访问varScope1的局部变量x) , 反之则不可以 。
4. matlab中,怎么样在主函数里调用子函数 matlab可以在m文件函数中定义一个函数和多个子函数 , 但是需要注意的是子函数只能由同一m文件中的函数调用 。如下面的例子:
function [max,min]=mypfun(x) %主函数
n=length(x);
max=mysubfun1(x,n);
min=mysubfun2(x);
function r=mysubfun1(x,n) %子函数1
x1=sort(x);
r=x1(n);
function r=mysubfun2(x) %子函数2
x1=sort(x);
r=x1(1);

matlab主函数怎么写

文章插图