- MATLAB量化金融分析基礎與實戰
- 馬萌
- 1245字
- 2020-05-28 17:52:06
2.2 量化分析中的常用基本函數及其用法
2.2.1 edit
語法:
edit
edit filename
功能:
edit用于打開【MATLAB Editor】;
edit filename用于在【MATLAB Editor】中打開名為filename的腳本文件。
2.2.2 clear
語法:
clear
clear Variable
功能:
clear用于刪除工作區變量;
clear Variable可以刪除指定變量Variable。
2.2.3 clc
語法:
clc
功能:
clc用于清除命令行窗口的歷史信息。
2.2.4 close
語法:
close(H)
close all
功能:
close(H)用于關閉圖片、文件等句柄H;
close all可關閉當前所有句柄。
2.2.5 whos
語法:
whos VarName
功能:
whos函數可以查看【工作區】變量的屬性。
例82:查看變量a的屬性。

2.2.6 exist
語法:
exist(′name′)
功能:
查看名為“name”的變量或文件是否存在。其函數返回值可參考表2-1。
表2-1 exist函數返回值

語法:
exist(′name′,kind)
功能:
查看名為“name”的變量或文件是否為kind類型(見表2-2),返回值為0表示不是該類型,否則返回kind類型對應的數字(見表2-1)。
表2-2 exist判斷類型

2.2.7 isa
語法:
isa(var,ClassName)
isa(var,ClassCategory)
功能:
判斷變量var是否為CalssName類型(見表2-3)或ClassCategory類別(見表2-4)。
表2-3 isa函數的參數CalssName取值

表2-4 isa函數的參數ClassCategory取值

2.2.8 isempty
語法:isempty(var)
功能:
判斷變量var是否為空,返回1代表變量為空,0代表非空。
其等價于:
prod(size(var))==0
2.2.9 isnan
語法:
isnan(var)
功能:
判斷變量var是否為NaN:返回1代表變量為NaN,0代表非NaN。需要注意如果輸入為空,其返回值為空。
例83:判斷矩陣是否為NaN。

2.2.10 find
語法:
find(X)
find(X,n)
功能:
找到矩陣X中的非0元素的下標;
如果指定n,則找到矩陣X中前n個非0元素的下標。
例84:找到矩陣中的非0元素。

找到Y中非0元素的一維索引。

找到Y中非0元素的二維索引。

2.2.11 disp
語法:
disp(X)
功能:
顯示變量X的值。
例85:顯示變量示例。
>>X=′a′;
>>disp(X)
a
2.2.12 fprintf
語法:
fprintf(fileID,formatSpec,A1,…,An)
fprintf(formatSpec,A1,…,An)
功能:
指定文件句柄fileID時用于寫入文件,不指定文件句柄時輸出到命令行窗口。formatSpec用于指定格式,支持的格式符號見表2-5,特殊字符見表2-6。
表2-5 fprintf函數的格式符號

表2-6 fprintf函數的特殊字符

例86:打印@符號。
>>fprintf(′\100′)
>>fprintf(′\x40′)
tips:詳細的ASCII碼表可查閱附錄A。
例87:打印100%。>>fprintf(′100%%′)
例88:利用%N$打印第N個變量,輸入′A′′B′′C′,輸出′C′′B′′A′。>>fprintf(′%3$s%2$s%1$s′,′A′,′B′,′C′)
例89:打印圓周率并保留3位小數3.142。>>fprintf(′圓周率為%.3f′,pi)
例90:打印圓周率并保留3位有效數字3.14。>>fprintf(′圓周率為%.3g′,pi)
2.2.13 sprintf
語法:
str=sprintf(formatSpec,A1,…,An)
[str,errmsg]=sprintf(formatSpec,A1,…,An)
功能:
sprintf函數可以將打印內容保存到變量str中,formatSpec中的格式符號與fprintf函數相同。
例91:將@符號賦值給str。>>str=sprintf(′\x40′);
>>disp(str)
@
例92:輸入′A′、′B′、′C′,輸出′C′、′B′、′A′,并賦值給str。

tips:sprintf函數與frpint函數對于格式的定義方法是相同的,唯一不同之處在于前者將輸出存為變量以便繼續運算,而后者輸出到文件或者打印出來。
2.2.14 eval
語法:
eval(expression)
[output1,…,outputN]=eval(expression)
功能:
eval函數用于執行指令expression。通常在遇到變量a的值b同時也是變量名且需要提取變量b對應的值c時使用。
例93:將1賦值給a。

例94:輸入一個數字,如果它小于0則返回0否則返回自身。
創建“not_negetive.m”文件,內容如下:

在命令行窗口中調用not_negetive文件。
