matlab中同一文件定义子函数的方法 matlab定义函数的方法

matlab中同一文件定义子函数的方法

有时子函数可能很短,就几行,可能希望将多个函数定义放在同一个.m文件中,这里就存在一个子函数的定义问题。
在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同

在一个m文件中通常有两种定义子函数的方法:

1.嵌套定义

functionmainFunc()
...
a=myfunc1();
...
functionmyfunc1()
...
end

end

2.非嵌套定义
functionmainFunc()
...
a=myfunc1();
...
end

functionmyfunc1()
...
end

在第二种情况中,myfunc1和主函数就是两个独立的函数,和把它们写在两个独立的文件
中没有差别。变量名想怎么起怎么起,不会有任何冲突。


而第一种情况中,myfunc1会和主函数共享变量名。这种情况下,使用相同的变量名,如
果不是故意为之,就不合适了。

例子:

下面是某个.m脚本文件(son_function.m文件)中的内容:

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

function son_function()%主函数必须位于最上方
%子函数举例
max1=find_max(1,2,3)
max2=find_max(7,3,9)


functionmax=find_max(a,b,c)%子函数
matlab中同一文件定义子函数的方法 matlab定义函数的方法
if(a>=b)&(a>=c)
max=a;
elseif(b>=a)&(b>=c)
max=b;
else
max=c;
end

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

注意:
M文件中将函数的调用直接写到m脚本文件中的情况是不允许的,必须也把调用写成函数的形式,或者将子函数都写成单独的m文件。

如将上程序中的第一行屏蔽掉,即

% function son_function( )

会出现下面的错误

Function definitions are not permitted at the prompt or inscripts.

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/105143.html

更多阅读

“我的电脑”中文件打开很慢的解决方案 vs2010打开解决方案

? ? U大侠小编介绍在电脑下载安装很大的软件或者同时打开很多程序,会导致电脑运行很慢,但有些时候,在“我的电脑”中的文件打开很慢,这是怎么回事?不是因为电脑上运行的程序太多,我们应该通过设置来进行检查。我的电脑  文件打开很慢

文件夹拒绝访问的原因与解决办法 拒绝访问文件夹

文件夹拒绝访问的原因与解决办法——简介在使用电脑过程中我们经常会遇到这样或那样的问题,今天本文将于大家分享下打开文件提示文件夹拒绝访问导致无法打开的问日。偶尔有朋友可能会遇到这样的问题,打开某个文件夹提示拒绝访问,很多朋

声明:《matlab中同一文件定义子函数的方法 matlab定义函数的方法》为网友炫迈阿桐分享!如侵犯到您的合法权益请联系我们删除