在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法:
1.嵌套定义
myfunc1会和主函数共享变量名。这种情况下,使用相同的变量名,如果不是故意为之,就不合适了。function mainFunc(...
a = myfunc1();
...function myfunc1()...endend2. 非嵌套定义function mainFunc()...a = myfunc1();...endfunction myfunc1()...end在第二种情况中,myfunc1和主函数就是两个独立的函数,和把它们写在两个独立的文件中没有差别。变量名想怎么起怎么起,不会有任何冲突。举例说明:
%%-----------------------------------------------------------------------function usemyfunArray( ) %主函数必须位于最上方%子函数举例max1=find_max(1,20,3)max2=find_max(7,3,9)function max=find_max(a,b,c) %子函数if (a>=b)&(a>=c) max=a;elseif (b>=a)&(b>=c) max=b;else max=c;end%%-----------------------------------------------------------------------