matlab调用函数的顺序是怎样的?

当matlab执行一个m文件的时候,如果遇到了一个函数,它是先检验这个函数是子函数,还是私有函数,还是标准搜索路径中的函数?然后检验它是哪里面的函数?

第1个回答  推荐于2016-11-22
函数调用的优先级从高到低排列如下:
①变量。调用优先级最高。MATLAB搜索工作空间是否存在同名变量,如有则停止搜索。
②子函数。
③私有函数。
④类构造函数。
⑤重载方法。
⑥当前目录中的同名函数。
⑦搜索路径中其他目录中的函数。调用优先级最低。如果函数不在搜索路径中,则不能被调用。
如果查询同名函数中究竟哪个函数被调用了,用which函数查询。例如:
>> which zoom
D:\Program Files\MATLAB\R2009a\toolbox\matlab\graph2d\zoom.m

选自教材:MATLAB语言及应用案例本回答被提问者采纳
第2个回答  2010-12-03
从文件内部调用函数时,Matlab首先检查文件,看函数是否是子函数。然后检查该名称的私有函数,最后搜索路径上的独立的M文件或内部函数。因为首先检查子函数,所以可以用相同名称的子函数覆盖已经存在的M文件。
私有函数是private子目录中的函数。它们只对父目录中的函数可见,对父目录外是不可见的,在其他目录中可以适用与之相同的名称。本回答被网友采纳
相似回答