MATLAB主函数和子函数调用例子例题

2020年12月12日16:24:47MATLAB主函数和子函数调用例子例题已关闭评论

MATLAB主函数和子函数调用例子

与其他的高级语言一样,在MATLAB语言中也可以很方便地定义子函数,用来扩充函数的功能。在MATLAB中,一个M文件函数中只包含一个主函数,但是可以包含多个子函数在函数文件中题头定义的函数为主函数,而在函数体内定义的其他函数都被视为子函数。子函数只能为主函数或同一主函数下的其他子函数所使用。

例题 主函数和子函数调用实例。

打开M文件编辑器,编写程序代码如下。保存文件,取名为my_subf.m,如图13-1所示。

 

图13-1 函数文件my_subf.m

M文件中包含3个函数声明行,对应3个函数,即一个主函数my_subf和两个子函数subf1和subf2。两个子函数并列的实现各自的功能,供主函数调用。

MATLAB程序如下:

function z=my_subf(x,y)  %主函数my_subf

%任意输入两个数,求两个数分别为分母的分式值的和

%创建两个子函数,分别为x./y和 y./x

%主函数运用分支语句,当输入数字为0时,警告报错

z1=subf1(x,y);

z2=subf2(x,y);

if(x==0)|(y==0)

error('0''不能作为分母')%关系、逻辑运算判断,如果想x、y有一个为0,则报错

else       %输入的x、y都不为0

z=z1+z2;

end

function z1=subf1(x,y)  %子函数1,求以y为分母的分式值

z1=x./y;

function z2=subf2(x,y)  %子函数2,求以x为分母的分式值

z2=y./x;

在MATLAB命令窗口调用M文件,输入不同的参数,执行程序得到的结果不同:

>> my_subf(6,7)

ans =

2.0238

>> my_subf(6,0)

??? Error using ==> my_subf at 5

0'不能作为分母

>> my_subf(0,0)

??? Error using ==> my_subf at 5

0'不能作为分母

 

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。