Matlab Functions Types
!! 以下函数调用顺序见 Matlab Function Precedence Order
除主函数外, 函数分为以下四类:
Main Function
主函数, 指函数文件中第一个函数, 是相对局部函数和嵌套函数而言的. 主函数一般与函数文件名相同.
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 的帮助注释