MATLAB 中的前 5 種函數類型 [2022]
已發表: 2021-01-05目錄
介紹
MATLAB (MATrix LABoratory) 是 MathWorks 於 1984 年開發的一種編程語言。編寫 MATLAB 的目的是提供對矩陣軟件的便捷訪問,該軟件由 LINPACK(線性系統包)和 EISPACK(本徵系統包)項目開發。 它是一種用於數值計算和編程的高級編程語言。
MATLAB 是一種編程語言環境,具有數據結構、內置編輯和調試工具等功能。 它由內置的易於使用的圖形命令組成,可立即顯示結果。 它具有各種內置命令和數學函數,有助於數學計算和執行數值方法。
特徵
以下是 MATLAB 的功能 -
- 它是一種高級編程語言,用於在幾秒鐘內解決各種數值問題。
- 它有一個龐大的數學函數、運算、線性代數等庫。
- 它的界面提供了最大化性能和提高代碼質量的工具。
- 它包含一個用於構建應用程序的內置圖形界面。
句法
MATLAB 運行命令提示符工具來執行其輸出。
例如:
在命令提示符中鍵入以下表達式:

鍵入 Ctrl+E,答案將返回為:
職能
程序中的函數意味著它接受輸入並返回輸出。 腳本和函數都允許通過將命令存儲到程序文件中來重用它們。 它提供了靈活性,因為用戶可以傳遞輸入值並返回輸出值。 與其他相比,它運行得更快,因為它不存儲臨時變量。
函數必須在程序文件中定義,而不是在命令行中。 以下語法用於定義函數。
函數 [y1,…,yN] = myfun(x1,…,xM)
其中 y1,...,yN 是輸出,x1,...,xM 是輸入,並且
myfun 是函數名
以下是有效函數名稱和保存函數應遵循的一些基本規則:
- 有效的函數名稱應以字母開頭,然後包含數字、下劃線。
- 文件名必須與文件中的第一個函數名匹配。
- 腳本文件名應與文件中的函數不同。
- end 關鍵字用於指示函數的結束。
閱讀: 15 個適合初學者的有趣 MATLAB 項目創意和主題
函數類型
以下是各種類型的功能 -
1.匿名函數
匿名函數類似於在單個 MATLAB 語句中定義的內聯函數。 它由一個 MATLAB 表達式組成。 此函數接受多個輸入並返回一個輸出。 未存儲在程序文件中的函數。 該程序文件與數據類型為 function_handle 的變量相關聯。
基本語法是
function_name = @ (variable_name) matlab_expression;
其中 function_name 是匿名函數的名稱。 Variable_name 是變量的名稱。 matlab_expression 是一個數學表達式。
2. 局部函數
MATLAB 程序文件包含多個函數的代碼。 函數文件中的第一個函數被稱為主函數。 一個文件中的這個主函數對另一個文件的其他函數是可見的,即用戶可以從命令行調用它。 局部函數定義在主函數之後,對同一文件中的其他函數可見。
例如,創建一個名為 mystatastic.m 的函數文件,其中包含一個主函數 mystatastic 和兩個局部函數 mymeanf 和 mylocalf。
函數 [avg, med] = mystatastic(x)
n = 長度(x);

avg = mymeanf(x,n);
med = mylocalf(x,n);
結尾
函數 a = mymeanf(v,n)
% MYMEANF 局部函數的例子。
a =總和(v)/n;
結尾
函數 m = mylocalf(v,n)
%MYLOCALF 另一個局部函數的例子。
w = 排序(v);
如果 rem(n,2) == 1
m = w((n + 1)/2);
別的
m = (w(n/2) + w(n/2 + 1))/2;
結尾
結尾
局部函數 mymeanf 和 mylocalf 計算輸入列表的平均值和中位數。 主函數 mystatastic 確定列表 n 的長度並將其傳遞給本地函數。
3. 嵌套函數
父函數中的函數稱為嵌套函數。 它可以定義為另一個函數體內的函數。
以下是嵌套函數的語法:
函數 x = A(p1, p2)
…
乙(p2)
函數 y = B (p3)
…
結尾
…
結尾
例如,名為 parentf 的函數包含函數 nestedf
父函數
disp('這是父函數')
嵌套
函數嵌套
disp('這是嵌套函數')
結尾
結尾
嵌套函數的優點是它們可以訪問和修改父函數中定義的變量。
4.私有函數
當用戶想要限制函數的範圍時,私有函數很有用。 該函數在其下創建子文件夾,並且僅對子文件夾函數可用。 此子文件夾被命名為私有。
例如,創建一個名為 private 的子文件夾。 在私有文件夾中,創建一個名為 examplefile.m 的文件。
函數查找
% FINDME 一個私有函數的例子。
disp ('你找到了私有函數')
切換到包含私有文件夾的文件夾並創建一個名為 visible.m 的文件
功能可見
找我
將當前文件夾更改為任意位置並調用可見函數。
可見的
你找到了私有函數。
5. 全局變量
在所有函數中聲明為全局的變量稱為全局變量。 它可以與一個或多個功能共享。 要在基礎工作區聲明全局變量,請在命令行聲明變量。 應該在我們聲明為全局變量的變量之前提到“全局”一詞。
以下是全局變量的語法:
全局 var1 ... varN
例如,創建一個名為 avg.m 的函數文件,並遵循以下代碼:
函數 avgr = avg(nums)
全球所有
avgr = sum(nums)/ALL;
結尾
現在,創建一個腳本文件並遵循以下代碼:
全球所有;
全部=10;
n = [34、45、25、45、33、19、40、34、38、42];
av = 平均值(n)

將顯示以下結果:
av = 35.500
查看:人臉識別中的 MATLAB 應用:代碼、描述和語法
結論
MATLAB 函數可以用作編程語言的一個組成部分。 它們可以通過使用全局變量進行全局評估,也可以通過使用私有函數來私有使用。 由於其眾多獨特的功能,它可以滿足組織的所有要求。
如果您有興趣了解有關 MATLAB、機器學習及其相關主題的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為在職專業人士設計,提供 450 多個小時的嚴格培訓,30 多個案例研究和作業、IIIT-B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。
為什麼 MATLAB 有用?
MATLAB 是最著名的第四代編程語言之一,越來越多地用於開發高級人工智能和機器學習應用程序。 MATLAB 對於執行複雜的數學推導、分析、設計和優化數學和結構模型非常有用。 它為涉及不同類型算法的複雜計算提供了高水平的速度、精度和準確性。 此外,MATLAB 允許我們分析不同類型的數據源,如數據庫和文件,這使其特別適用於數據科學項目。 它還支持不同的可視化技術,數據原型和模型的模擬。
如何學習 MATLAB?
由於 MATLAB 是一種面向對象的編程語言,如果您已經對面向對象編程的概念有一些基本的了解,那就太好了。 這些概念將幫助您快速了解 MATLAB 並與之建立聯繫。 接下來,您還會發現了解 MATLAB 如何開發算法和序列代碼很有幫助。 雖然在開始學習 MATLAB 之前理解這些概念並不是強制性的,但了解這些概念可以輕鬆提高您使用這種編程語言編寫代碼的效率。 但是,您必須熟悉構成 MATLAB 運算基礎的高等數學基礎知識。
MATLAB 提供哪些優勢?
使用 MATLAB 設計的算法在解決與線性代數和矩陣相關的問題方面非常有效。 您可以更快、更高效地開發算法。 您可以利用現成的 MATLAB 函數庫,用於矩陣運算。 由於 MATLAB 將所有操作都視為向量,因此它有助於編寫優化的代碼。 此外,它還帶有一個高度豐富的工具箱,有助於利用定制的統計信息。 此外,它還有助於將數據轉換為不同的格式,以便可以由各種應用程序處理。 此外,MATLAB 的 Simulink 功能將數據轉換為可以與圖形交互的格式,從而提高可視化和解釋的準確性。