matlab中同一文件定義子函數的方法


在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

%%-----------------------------------------------------------------------

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM