l (一般)與儲存檔案同名的那個函式;
l 在當前目錄、搜尋路徑上,列出檔名的函式;
l 在指令窗中或其他函式中,可直接呼叫的函式;
l 函式m檔案中,由第乙個function 引出的函式。
( 採用 help functionname 可獲取函式所攜帶的幫助資訊。)
l 子函式不獨立存在,只能寄生在主函式體內;
l 在函式檔案中,由非第乙個function引出的函式;
l 乙個m函式檔案可以包含多個子函式;
l 子函式只能被其所在的主函式和其他「同居」子函式呼叫;
l 子函式可以出現在主函式體的任何位置,其位置先後與呼叫次序無關。
l 在m函式檔案中,任何指令通過「名字」對函式進行呼叫時,子函式的優先順序僅次於內裝函式。
l 同一檔案的主函式、子函式的工作空間都是彼此獨立的。各函式間的資訊,或通過輸入輸出宗量傳遞,或通過全域性變數傳遞,或通過跨空間指令傳遞。
l 採用help functionname/subfunctionname 可獲取子函式所帶的幫助資訊。
l 在函式檔案中,由非第乙個function引出,並以end為結尾的函式;
l 乙個m函式檔案可以包含多個巢狀函式;
l 主函式一旦包含巢狀函式,就必須在整個函式檔案的結尾使用end,以結束主函式及其所有附帶的函式;
l 巢狀函式只能被其「直系父、子」或「親兄弟」函式呼叫;
l 採用help functionname/nestedfunctionname 可獲取巢狀函式所帶的幫助資訊。
巢狀函式的呼叫規則
1function a(x, y) %主函式
2 b(x, y); %只能呼叫「子b」;不能呼叫「孫c」
3 d(y); %只能呼叫「子d」;不能呼叫「孫e」
4function b(x, y) %「子」巢狀函式 b
5 c(x); %呼叫「子c」
6 d(y); %呼叫「兄d」;不能呼叫「侄e」
7function c(x) %「孫」巢狀函式 c
8 d(x); %呼叫「叔d」
9end
10end
11function d(x) %「子」巢狀函式 d
12 e(x); %呼叫「子e」
13function e %「孫」巢狀函式 e
14 ...
15end
16end
17end
1819
20巢狀函式的變數定義範圍。
21function
exm06044_2_1
22 x = 5; %在主函式中定義的變數 x
23nestfun1
24function
nestfun1
25nestfun2
26function
nestfun2
27 x = x + 1 %在「孫」巢狀函式中,可以尋訪、修改。
28end
29end
30end
3132
33function
exm06044_2_2
34nestfun1
35function
nestfun1
36nestfun2
37function
nestfun2
38 x = 5; %在「孫」巢狀函式中,定義的變數 x
39end
40end
41 x = x + 1 %在主函式中,可以尋訪、修改。
42end
4344
function
exm06044_2_3
45nestfun1
46nestfun2
47function
nestfun1
48 x = 5; %在「兄」巢狀函式中,定義變數 x
49end
50function
nestfun2
51 x = x + 1 %在「弟」巢狀函式中,不能尋訪、修改 x
52end
53end
〖說明〗
l 巢狀函式有自己的記憶體空間,但與其直系函式的記憶體空間之間存在同名變數介面。
l 兄弟巢狀函式各具獨立的記憶體空間,各自空間內的同名變數相互獨立,沒有任何聯絡。
l 在名為private的子資料夾上的m函式檔案;
l 私用函式的構造與普通m函式完全相同。
l 私用函式只能被其直接「父」資料夾上函式檔案所呼叫。
l m檔案中,任何指令通過「名字」對函式進行呼叫時,私用函式的優先順序雖低於內裝函式和子函式,但高於其他任何目錄上的函式。
l 私用函式的幫助資訊可用以下指令獲得
help private/myprivfun
l 不以m檔案形式駐留在資料夾上的函式;
l 可在指令窗或任何函式體內直接通過指令生成的函式。
l 建立匿名函式的方法
n 在指令窗或任何m檔案中,執行以下指令
fhandle = @(arglist) expr
fhandle 屬函式控制代碼資料型別
arglist 匿名函式的輸入量
expr 用輸入量構成的函式表示式
n 呼叫格式
fhandle(arglist)
l 匿名函式expr中,除了輸入變數arglist外的其他變數必須是已經被賦值的,並從此在該匿名函式的整個存在期間保持不變,不管該匿名函式在以後呼叫時那些變數自身值是否已經變化或甚至不再存在。
Matlab自己定義函式
matlab提供了強大的函式庫供使用者呼叫,但也支援使用者自定義函式。本文使用了範德堡大學教授akos ledeczi授課中的樣例來一步步說明怎樣在matlab中自定義函式。首先,在command window中輸入edit命令。開始編輯函式。本函式實現的是隨機生成乙個3行4列的矩陣。該矩陣的元素取...
matlab各類數學公式
matlab矩陣應用 clear 建立矩陣的兩種方式 a1 1 2 3 4 5 6 7 8 9 10 a2 1 2 3 4 5 6 7 8 9 10 一種是換行用引號,一種是自然寫法 clear a 5 4 3 2 1 6 7 8 9 10 1 2 3 4 5 24 24 24 24 24 25 2...
matlab各類數學公式
matlab矩陣應用 clear 建立矩陣的兩種方式 a1 1 2 3 4 5 6 7 8 9 10 a2 1 2 3 4 5 6 7 8 9 10 一種是換行用引號,一種是自然寫法 clear a 5 4 3 2 1 6 7 8 9 10 1 2 3 4 5 24 24 24 24 24 25 2...