在matlab中一個.m文件中可以有多個的子函數,但僅能有一個主函數,並且M文件名必須和主函數相同在一個m文件中通常有兩種定義子函數的方法:
1.嵌套定義
myfunc1會和主函數共享變量名。這種情況下,使用相同的變量名,如果不是故意為之,就不合適了。function mainFunc(...
a = myfunc1();
...
function myfunc1()
...
end
end
2. 非嵌套定義
function mainFunc()
...
a = myfunc1();
...
end
function 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 %%-----------------------------------------------------------------------
