Matlab Functions Types

Matlab Function


!! 以下函数调用顺序见 Matlab Function Precedence Order

主函数外, 函数分为以下四类:

Main Function

主函数, 指函数文件第一个函数, 是相对局部函数嵌套函数而言的. 主函数一般与函数文件名相同.

Nested Function

Matlab Nested Function

Local Function

局部函数, 指脚本文件中定义的任意函数 (需放在最后), 或函数文件中主函数之后的非嵌套函数.

  • 局部函数之间地位相等, 都可以被脚本文件中的指令或函数文件中的主文件调用, 也可以互相调用
  • 局部函数之间的顺序无任何影响
  • 局部函数无法从其他文件或 Command Window 中调用
    • 但可以通过命令 help myFun > myFun_local 查看主函数文件 myFun.m 中的局部函数 myFun_local 的帮助注释
  • 局部函数不能与文件名同名

Private Function

  • 私有函数是具有限制性访问权限的函数, 它们对应的 M 文件需要保存在名为 private 的子文件夹下, 则其中的私有函数只能在该子文件夹的直接父目录M 文件中被调用
    • 子文件夹的直接父目录应是 Current Folder 或某个 MATLAB path
    • 私有函数无法被 Command Window 调用
    • 当然 “私有函数” 还可以被本文件, 同目录下文件和同目录 Command Window 调用, 但此时它不再是 “私有函数”
  • 这些私有函数代码编写上和普通的函数没有什么区别, 也可以在一个 M 文件中编写一个主函数和多个子函数, 以及嵌套函数
  • 但可以通过命令 help private/private_fun 获取私有函数 private_fun 的帮助注释

Anonymous Function

Matlab Anonymous Function