功能优先级顺序
这一主题解释了MATLAB®确定哪些函数调用当多个函数在当前范围具有相同的名称。当前范围包括当前文件,一个可选的私人文件夹相对于当前运行的功能,当前文件夹,和MATLAB的道路。
MATLAB使用这个优先顺序:
变量
假设一个名字匹配函数之前,MATLAB检查一个变量与这个名字在当前工作区中。
请注意
如果您创建了一个具有相同名称的变量作为函数,MATLAB不能运行这个函数,直到你从内存中清除变量。
函数或类的名称符合一个明确进口的名字
的
进口
与复合函数允许函数名称(名称由几部分加入了点)被称为只使用复合名称的最后一部分。当一个函数的名字匹配一个显式的(non-wildcard)导入函数,MATLAB使用进口复合名称和给它优先于所有其他具有相同名称的函数。嵌套函数在当前函数
本地函数在当前文件
函数或类的名字匹配wildcard-based进口的名字
当一个函数的名字匹配wildcard-based导入功能,MATLAB使用进口复合名称和给它优先于所有其他具有相同名称的功能,除了嵌套和本地函数。
私有函数
私人函数是函数命名的文件夹中
私人
这是立即低于当前运行的文件的文件夹。对象的功能
一个对象函数接受一个特定类的对象在其输入参数列表。当有多个具有相同名称的函数对象,MATLAB检查类的输入参数来确定使用哪个函数。
类构造函数在@文件夹
MATLAB使用类构造函数来创建各种对象(如
timeseries
或audioplayer
),您可以定义自己的类使用面向对象编程。例如,如果您创建一个类文件夹@polynom
和一个构造函数@polynom / polynom.m
构造函数优先于其他函数命名polynom.m
路径上的任何地方。加载仿真软件金宝app®模型
函数在当前文件夹
功能的道路上的其他地方,出现的顺序
当优先级的确定函数在同一个文件夹,MATLAB认为文件类型,按照这个顺序:
内置函数
MEX-function
金宝app不加载仿真软件模型文件,文件类型在这个顺序:
基金文件
MDL文件
程序文件(
.mlapp
使用MATLAB软件设计师创建的)程序文件的
.mlx
扩展档案(即一个编码的程序文件
每分钟
扩展)程序文件的
00
扩展
例如,如果MATLAB找到00
文件和一个具有相同名称的档案在同一文件夹,它使用档案。因为档案是不会自动重新生成,确保你重新生成档案当你编辑的程序文件。
确定MATLAB函数要求一个特定的输入,包括函数名称和输入调用哪一个
函数。
规则的变化函数优先顺序
从R2019b开始,MATLAB名称解析的规则变化,影响变量的优先级顺序嵌套功能,本地函数和外部功能。变化的信息和提示更新代码,看看更新代码R2019b变化函数优先顺序。
标识符不能用于两个目的在一个函数
标识符没有显式的声明可能不被视为变量
不能隐式变量之间共享父和嵌套函数
改变优先级的化合物名称解析
匿名函数可以包括解决和未解决的标识符
的行为进口
功能已经改变了。
改变wildcard-based进口的优先级
完全限定进口函数不能具有相同的名称作为嵌套函数
完全限定进口阴影外的范围定义相同的名称
当进口没有找到错误处理
嵌套函数从父母继承导入语句函数