- MATLAB量化金融分析基礎(chǔ)與實戰(zhàn)
- 馬萌
- 7字
- 2020-05-28 17:52:06
第2章 程序設(shè)計
2.1 函數(shù)的定義
MATLAB中的函數(shù)代碼應(yīng)放置在文件名與函數(shù)名相同、以“.m”為擴(kuò)展名的腳本文件中,在軟件界面左側(cè)【當(dāng)前文件夾】中雙擊“.m”文件可進(jìn)入【MATLAB Editor】進(jìn)行編輯。函數(shù)腳本調(diào)用時需將腳本所在文件夾設(shè)置為【當(dāng)前文件夾】或在【設(shè)置路徑】選項下將其所在文件夾添加到路徑列表中。執(zhí)行函數(shù)時在命令行窗口輸入函數(shù)名且無須輸入擴(kuò)展名“.m”。
2.1.1 單個函數(shù)腳本的創(chuàng)建
單擊MATLAB軟件界面中菜單欄上的【新建腳本】或者按<Ctrl+N>快捷鍵進(jìn)入編輯器【MATLAB Editor】新建腳本。任何函數(shù)定義都應(yīng)該以關(guān)鍵字“function”開始,輸出變量為多個時用方括號將多個變量包括起來并以逗號隔開。等號右側(cè)為函數(shù)名,輸入變量用圓括號包括起來并以逗號隔開。腳本編寫結(jié)束后單擊保存或者使用<Ctrl+S>快捷鍵保存,特別注意保存的文件名必須與函數(shù)名相同。編輯過程中如需查找替換可以使用<Ctrl+F>快捷鍵。
例80:新建“test.m”文件,a和b為輸出變量,input1和input2為輸入變量。
“test.m”文件內(nèi)容如下:
function[a,b]=test(input1,input2)
a=num2cell(input1);
b=input2;
在命令行窗口輸入以下指令即可得到a,b的值。
>>[a,b]=test(1,1);
如僅想得到a的值則輸入以下指令:>>a=test(1,1);
如僅想得到b的值則輸入以下指令:
>>[~,b]=test(1,1);
其中~符號可以阻止變量的返回。
2.1.2 含有子函數(shù)的腳本創(chuàng)建及調(diào)用
例81:創(chuàng)建“test2.m”文件,文件中包含子函數(shù)test3,因為test3僅僅將輸入變量直接
賦值給輸出變量,故此腳本的效果與上例相同。
“test2.m”文件內(nèi)容如下:
function[a,b]=test2(input1,input2)
a=num2cell(input1);
b=test3(input2);
function c=test3(input1)
c=input1;
因為文件名為“test2”,故只能調(diào)用test2函數(shù),而不能調(diào)用test3函數(shù)。
>>[a,b]=test2(1,1);