文档

功能优先级顺序

这一主题解释了MATLAB®确定哪些函数调用当多个函数在当前范围具有相同的名称。当前范围包括当前文件,一个可选的私人文件夹相对于当前运行的功能,当前文件夹,和MATLAB的道路。

MATLAB使用这个优先顺序:

  1. 变量

    假设一个名字匹配函数之前,MATLAB检查一个变量与这个名字在当前工作区中。

    请注意

    如果您创建了一个具有相同名称的变量作为函数,MATLAB不能运行这个函数,直到你从内存中清除变量。

  2. 函数或类的名称符合一个明确进口的名字

    进口与复合函数允许函数名称(名称由几部分加入了点)被称为只使用复合名称的最后一部分。当一个函数的名字匹配一个显式的(non-wildcard)导入函数,MATLAB使用进口复合名称和给它优先于所有其他具有相同名称的函数。

  3. 嵌套函数在当前函数

  4. 本地函数在当前文件

  5. 函数或类的名字匹配wildcard-based进口的名字

    当一个函数的名字匹配wildcard-based导入功能,MATLAB使用进口复合名称和给它优先于所有其他具有相同名称的功能,除了嵌套和本地函数。

  6. 私有函数

    私人函数是函数命名的文件夹中私人这是立即低于当前运行的文件的文件夹。

  7. 对象的功能

    一个对象函数接受一个特定类的对象在其输入参数列表。当有多个具有相同名称的函数对象,MATLAB检查类的输入参数来确定使用哪个函数。

  8. 类构造函数在@文件夹

    MATLAB使用类构造函数来创建各种对象(如timeseriesaudioplayer),您可以定义自己的类使用面向对象编程。例如,如果您创建一个类文件夹@polynom和一个构造函数@polynom / polynom.m构造函数优先于其他函数命名polynom.m路径上的任何地方。

  9. 加载仿真软件金宝app®模型

  10. 函数在当前文件夹

  11. 功能的道路上的其他地方,出现的顺序

当优先级的确定函数在同一个文件夹,MATLAB认为文件类型,按照这个顺序:

  1. 内置函数

  2. MEX-function

  3. 金宝app不加载仿真软件模型文件,文件类型在这个顺序:

    1. 基金文件

    2. MDL文件

  4. 程序文件(.mlapp使用MATLAB软件设计师创建的)

  5. 程序文件的.mlx扩展

  6. 档案(即一个编码的程序文件每分钟扩展)

  7. 程序文件的00扩展

例如,如果MATLAB找到00文件和一个具有相同名称的档案在同一文件夹,它使用档案。因为档案是不会自动重新生成,确保你重新生成档案当你编辑的程序文件。

确定MATLAB函数要求一个特定的输入,包括函数名称和输入调用哪一个函数。

规则的变化函数优先顺序

从R2019b开始,MATLAB名称解析的规则变化,影响变量的优先级顺序嵌套功能,本地函数和外部功能。变化的信息和提示更新代码,看看更新代码R2019b变化函数优先顺序

  • 标识符不能用于两个目的在一个函数

  • 标识符没有显式的声明可能不被视为变量

  • 不能隐式变量之间共享父和嵌套函数

  • 改变优先级的化合物名称解析

  • 匿名函数可以包括解决和未解决的标识符

的行为进口功能已经改变了。

  • 改变wildcard-based进口的优先级

  • 完全限定进口函数不能具有相同的名称作为嵌套函数

  • 完全限定进口阴影外的范围定义相同的名称

  • 当进口没有找到错误处理

  • 嵌套函数从父母继承导入语句函数

另请参阅

相关的话题