- 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 程式碼庫的不同部分使用,這使得它們適合於需要從各種指令碼和函式訪問的適用範圍更廣的函式。
標準函式本身並不提供封裝,因為它們旨在從程式碼庫的各個部分訪問。