1、我们打开Matlab软件,新建一个test.m主程序,键入一下代码a=[5 8 6 4];result=main_a(a);%main_a()函数是我们要编写的函数我们用来测试的主要功能是用一个函数实现4个非零数的加减乘除运算,在主函数中将运算结果相加,加减乘除分别在四个子函数中运算。这个例子很简单,在这里只是为了给大家演示如何进行子函数的编写以及注意事项。

2、我们新建一个脚本文件,命名为main_a,如图所示

3、在main_a中写入以下代码,为主程序function result=main_a猾诮沓靥(a)%将数据分别赋值b=a(1);c=a(2);d=a(3);e=a(4);add_result=add_1(b,c,d,e);sub_result=sub_1(b,c,d,e);mul_result=mul_1(b,c,d,e);div_result=div_1(b,c,d,e);result=add_result+sub_result+mul_result+div_result;
4、在同一个文件之下,写入以下代码%% 子函数function add_result=add_1(b,c荑樊综鲶,d,e)%加法运算add_result=b+c+d+e;function sub_result=sub_1(b,c,d,e)%减法运算sub_result=b-c-d-e;function mul_result=mul_1(b,c,d,e)%乘法运算mul_result=b*c*d*e;function div_result=div_1(b,c,d,e)%除法运算div_result=b*c/d*e;总的main_a.m文件内容如图

5、这样,我们可以将不同的功能分别写成一个子函数,可以很方便的修改子函数或者主函数。需要注意的是,在main_a开头第一个函数是主函数,主函数只能有一个,其余的函数均为子函数。
6、程序运行结果如图所示

7、在文件中,子函数的参数值是通过主函数中的函数调用传过去的,子函数无法自动获取主函数中的参数值。我们也可以通过定义全局变量来使子函数获得参数值,如global b c d e。