matlab主函数子函数怎么写

1. 高手指点一下Matlab的主函数和子函数的关系,怎么建立子函数 主函数在结构上与其他函数没有一点区别,之所以称之为主函数,就是因为他在M文件上坐了第一把交椅,其他函数都排在他后面 。
按惯例他与M文件同名,在命令窗口或者其他函数中调用这个函数,都是引用M文件名 。也有例外,当主函数与M文件不同名时,只能用文件名引用这个函数!M文件上的其他函数扮演着其的子函数角色 。
一个M文件上排在主函数后面的都叫子函数,子函数的排列五规定顺序 。子函数只能被同一个文件上的主函数或其他子函数调用 。
子函数与子函数没有形式上的区别,每个子函数都有自己的函数定义行 。几个子函数虽然在同一个文件上,但各有自己的变量,子函数之间不能相互存取别人的变量 。
到那时,要是申明变量为全局变量,那个就另当别论 。MATLAB的函数类型有以下几种:1、主函数2、子函数3、私有函数4、嵌套函数、5、重载函数6、匿名函数 。
2. matlab主函数如何调用子函数 1、当你没有把你编辑好的子函数放入正确的文件夹时,不管你输入的程序是否有错,当你执行时,系统都会提示“没有定义”,这个时候就是没有子函数文件放到主函数库文件夹中,如图所示 。
2、就算知道了,这个问题那么主函数库文件夹在什么地方找呢?首先,输入“edit conv”这个“conv”是我准备编辑的子函数的主函数名,每个人所需的主函数名都不一样,这里可以不要那么在意 。然后就可以打开相应的主函数,这是可以看到主函数所在文件夹位置 。
如图所示,※记住这个位置 。3、然后进行子函数的编辑,首先新建一个新的m文件,如图操作所示,然后在编辑框中输入所要的子函数,如图所示,例如我就是输入了convnem的函数,这是conv的子函数 。
然后点击保存 。4、接下来,在刚刚第二步“conv”所在文件位置,将位置记录下来,将子函数的文件保存到主函数所在的文件夹即可,然后在重新的将你所需的程序(含有子函数的)输入并且执行,这时你会发现原来提示的错误没有了,那么这时调用自己添加的子函数成功了 。
以后有相应的子函数都可以通过这样的方法进行添加子函数 。同一个脚本文件中若有多个函数,则分为主函数和子函数,每个M文件都要求有一个主函数,它最先出现在该m文件中,与文件同名 。
主函数可以与该m文件外的其他函数相互作用,只要该文件所在目录属于matlab搜索路径;子函数subfunctions的执行范围:只能与该m文件中的其他函数相互作用,却不能被m文件之外的函数调用,子函数作为功能函数只是执行主函数的一部分工作 。Matlab- 主函数和子函数间接传递变量 在matlab一般可以通过函数的输入和输出接口来传递变量,但是有的时候,我们因为函数已经写好,并在比较多的脚本中被调用,此时再修改输入接口的工作量比较大,如果可以通过其它方式传递变量,就可以省去很多的工作量 。
初步想了一下,可以通过两种形式实现: 1、在主函数中定义全局变量 但是这里需要注意的是全局变量y的定义必须包括在主函数的代码段中,如果放在主函数之外,或者定义在子函数中就无法被整个进程中的代码全局识别 。2、利用新的子函数定义来间接引入全局变量 。
调用规则: 外层的嵌套函数的直接内层,例如varScope1可以调nestfun1,而nestfun1可以调用nestfun2,但varScope1不能调nestfun2; 有相同父函数的同层嵌套函数(本例不存在); 内层的函数可以调用任何外层的函数,例如,nestfun2可以调用nestfun1和varScope1 。其他函数调用时,只能调最外面一层的函数(varScope1),而不能调用调nestfun1和nestfun2 。