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