MATLAB M函式檔案

2021-10-05 05:32:06 字數 2311 閱讀 7408

二.m函式檔案

三.函式控制代碼

首先,要了解指令碼檔案和函式檔案的區別,在matlab中編寫的程式檔案稱為m檔案,m檔案分為指令碼檔案和函式檔案倆種。

函式檔案:有輸入引數和輸出引數,由function引導,使用者可以自己建立函式、呼叫函式,就像matlab內嵌函式一樣使用,函式中的變數一般是區域性變數,也可以宣告全域性變數。函式是matlab的主流程式設計方式。

指令碼檔案和函式檔案的區別如圖:

指令碼檔案的建立方法就是,新建乙個指令碼,在裡面編寫程式就可以了。

函式檔案的建立也是類似的,首先建立乙個函式檔案,檔名要和函式名一致,然後在檔案中編寫函式,以function為引導,函式檔案中必須包括乙個主函式,也可以包含子函式、內嵌函式等等…這和c語言的函式有類似之處。

函式檔案以function為引導,表明這個檔案是乙個函式檔案,格式如下:

function  [ 輸出形參 ] = 函式名[ 輸入形參 ]

%注釋內容

例如:

特別注意一點,函式檔名要和主函式的名字一致。

函式形參

函式檔案有輸入形參和輸出形參,在宣告函式的時候就確定了形參的個數,輸入形參以圓括號()表示,輸出形參以方括號表示(注:輸出形參為乙個的時候可以不用)。而且每個形參的位置都是對應的,當沒有輸入引數或者輸出引數時,就不用寫了,相當於c語言中的void。

另外呼叫函式的時候,有時需要傳入引數和傳出引數,引數的位置必須和形參的位置相對應,這點和c語言中的形參使用幾乎一樣。

注釋寫好函式後總要使用的嘛,函式檔案自己不可以直接執行,需要使用者呼叫才可以,使用者呼叫的時候格式如下:

[ 輸出實參 ] = 函式名( 輸入實參 )
注意這裡的引數就不同於上面宣告函式時的引數,宣告函式是形參,呼叫函式是實參,實參必須要有確定的值。還有,實參的個數和位置要和形參對應

例如:

函式執行的時候會產生一些變數,我們知道,在命令列和指令碼檔案下產生的變數都是放在主變數工作區的,也就是全域性變數。

但是函式內部產生的是區域性變數,除非特殊說明為全域性變數,區域性變數會在函式呼叫完畢後隨函式的結束而清除,當然,也可以通過函式返回值來使變數傳出函式,從而儲存下來(或者宣告為全域性變數)。

宣告乙個變數為全域性變數時格式為:

global 變數1 變數2
注意:變數之間必須使用空格來隔開,不能用逗號!一般函式檔案中第乙個函式就是主函式,主函式的函式名也和函式檔名一致。呼叫乙個函式首先執行的就是主函式了,這一點和c語言中的main函式有相似之處。

對應主函式,在乙個函式檔案中也會有子函式,子函式可以被主函式呼叫、被子函式呼叫。子函式也由function來引導,子函式的呼叫和位置無關!

例如:

當使用者編寫了乙個函式的時候,要呼叫此函式時,需要嚴格按照規定給出函式呼叫的格式,還要寫正確函式名,但是有時候函式名字比較麻煩。而且,最重要的一點:matlab每次呼叫函式的時候都要從所有路徑中去尋找對應函式,這就導致程式執行較慢!!!

使用函式控制代碼可以解決這種問題,什麼是函式控制代碼呢?我們可以模擬pc中程式的快捷方式來理解,要啟動乙個程式,計算機就要從硬碟中找啟動程式(感覺有點像大海撈針)只不過計算機執行速度飛快,可以比較快找到,而快捷方式就相當於指定了程式的啟動位址,使計算機可以直接去啟動程式。

函式控制代碼也是,使用函式控制代碼呼叫函式的時候,速度就比直接呼叫函式快了,而且使用函式控制代碼還可以給函式控制代碼重新命名,對函式控制代碼的操作就相當於對函式的操作!

定義函式控制代碼的常用方式就是:

handle = @functionname
直接控制代碼名=@函式名 就可以,例如:

Matlab m指令碼檔案

m檔案matlab允許編寫兩種程式檔案 指令碼 指令碼檔案是以.m副檔名的程式檔案。在這些檔案中,可以編寫一系列要一起執行的命令。指令碼不接受輸入,不返回任何輸出。它們對工作空間中的資料進行操作。函式 函式檔案也是擴充套件名為.m的程式檔案。函式可以接受輸入和返回輸出。內部變數是函式的區域性變數。建...

MATLAB m 序列生成函式 相關函式

觀摩了 simon haykin communication systems 4th edition 第七章課後的 感覺有點謎人,做了注釋及部分修改。pn 序列生成函式function x pnseq p 根據多項式 p 生成 pn 序列的線性移位暫存器 n length p 1 不包括 0 次項 ...

對於MATLAB M檔案怎麼加密

假如我有乙個檔名為 fan.m的檔案,怎麼來對它進行加密呢?如我想讓這個檔案執行十次後,它就自動損壞!或者讓它儲存五天,它也自動損壞!兩種方法 一 生成p檔案 二 生成.exe檔案,拿剛做好的程式試驗了一下,已經驗證成功,記錄一下過程 生成p檔案的方法很簡單,在command wondow裡面用 p...