- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线版
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据导出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策语句
- MATLAB - if end 语句
- MATLAB - if else 语句
- MATLAB - if...elseif else 语句
- MATLAB - 嵌套 if 语句
- MATLAB - switch 语句
- MATLAB - 嵌套 switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - for 循环
- MATLAB - while 循环
- MATLAB - 嵌套循环
- MATLAB - break 语句
- MATLAB - continue 语句
- MATLAB - end 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - return 语句
- MATLAB - 空函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - filter 函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级顺序
- MATLAB - map 函数
- MATLAB - mean 函数
- MATLAB - end 函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - try...catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 二维线图
- MATLAB - 三维图
- MATLAB - 格式化绘图
- MATLAB - 对数坐标轴图
- MATLAB - 绘制误差条
- MATLAB - 绘制三维等值线图
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 二维数组插值
- MATLAB - 三维数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 二维逆余弦变换
- MATLAB - 向坐标轴添加图例
- MATLAB - 面向对象
- MATLAB - 面向对象编程
- MATLAB - 类和对象
- MATLAB - 函数重载
- MATLAB - 运算符重载
- MATLAB - 用户定义类
- MATLAB - 复制对象
- MATLAB - 代数
- MATLAB - 线性代数
- MATLAB - 高斯消去法
- MATLAB - 高斯-约旦消去法
- MATLAB - 简化行阶梯形
- MATLAB - 特征值和特征向量
- MATLAB - 积分
- MATLAB - 积分
- MATLAB - 二重积分
- MATLAB - 梯形法则
- MATLAB - 辛普森法则
- MATLAB - 其他
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 矩阵的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用资源
- MATLAB - 快速指南
- MATLAB - 有用资源
- MATLAB - 讨论
MATLAB - 私有函数
在 MATLAB 中,私有函数是组织和模块化代码的重要概念。它们允许您创建仅在其父函数或包含文件夹范围内可访问的函数,从而更轻松地管理和维护您的代码库。
什么是私有函数?
MATLAB 中的私有函数是在其父函数或包含文件夹外部不可见或不可访问的函数。它们用于封装仅与特定函数或一组相关函数相关的代码。这种封装有助于改进代码的组织、可读性和可维护性。
MATLAB 中的私有函数在限制函数的可访问性方面发挥着重要作用。通过将函数归类为私有,您可以通过将其放在标有“private”的子目录中来实现此目的。因此,该函数仅对位于直接高于私有子目录的目录中的函数和脚本可用。
现在让我们了解如何创建和访问私有函数。
创建和访问私有函数
按照以下步骤在私有文件夹内创建私有函数,并在其他公共函数中访问它。
- 假设您当前的工作文件夹为:/MATLAB Drive。在其中创建一个名为 private 的文件夹。
- 在 /MATLAB Drive 上的文件夹内,创建一个名为“private”的子文件夹,不要将其添加到 MATLAB 路径中。在“private”文件夹中,创建一个名为“privateFunctionExample.m”的 MATLAB 函数文件,内容如下:
function privateFunctionExample % PRIVATEFUNCTIONEXAMPLE An example of a private function. disp('You found the private function.');
在 matlab 中显示如下:
在“private”文件夹外部,创建一个名为“publicFunctionExample.m”的 MATLAB 函数文件,内容如下:
function publicFunctionExample privateFunctionExample
在 matlab 中显示如下:
此“publicFunctionExample”函数未指定为私有,可从文件夹结构外部访问。在“publicFunctionExample”函数内部,它调用在“private”文件夹中定义的“privateFunctionExample”函数。
将当前文件夹更改为不在“/MATLAB Drive/private”文件夹内的任何位置,然后调用“publicFunctionExample”函数:
publicFunctionExample
在 matlab 命令窗口中,输出如下:
>> publicFunctionExample You found the private function. >>
运行此代码时,MATLAB 将执行“publicFunctionExample”函数,该函数又调用定义为私有函数的“privateFunctionExample”函数。结果,您将看到输出:You found the private function。
您可以使用带私有函数完整路径的 help 命令来访问私有函数“privateFunctionExample”的帮助文档:
help private/privateFunctionExample
在 matlab 命令窗口中执行时,输出为:
>> help private/privateFunctionExample privateFunctionExample An example of a private function.
私有函数和标准函数的区别
让我们列出我们最常用的私有函数和标准函数之间的区别。
私有函数
私有函数只能在其定义的函数或脚本中访问,或者只能从位于同一文件夹(通常是“private”子文件夹)中的其他函数访问。它们在此有限范围内不可见或不可访问。这使得它们适合于封装实现细节或内部辅助函数。
私有函数具有有限的范围,使其适合于封装和隐藏父函数或脚本中的特定实现细节。它们提高了模块化性并保护内部逻辑免受外部干扰。
私有函数旨在用于封装。它们封装并隐藏内部流程的细节,允许您维护干净且组织良好的代码结构。
标准函数
标准函数可在 MATLAB 环境中的任何位置访问,前提是函数的路径在 MATLAB 搜索路径中或函数位于当前文件夹中。这些函数可以从任何脚本、函数或命令窗口调用。
标准函数具有更广泛的范围,可以在 MATLAB 代码库的不同部分使用,这使得它们适合于需要从各种脚本和函数访问的适用范围更广的函数。
标准函数本身并不提供封装,因为它们旨在从代码库的各个部分访问。