初識MATLAB之數據類型
MATLAB的數據類型與C語言有些相同(數值型,字符串,數組,結構),也有不同(函數句柄)。其中相同的也有區別。以下分別介紹:
1. 數值型
數值型分為4種類型:整數,浮點數,復數。
1.1 整數
有符號整數(int8,int16, int32 ,int64)和無符號整數(uint8,uint16, uint32 ,uint64) ,其中u為Unsigned的縮寫。以下為取整函數:
floor為向下取整,ceil為向上取整,round為取最接近的整數,fix為向0取整。個人覺得有區別,但不大。需學習指數:2星。知道,用時能想起,但具體可以查。
1.2 復數
復數有單精度(single)與雙精度(double),有兩點:
一是single不能與整數進行直接運算。
二是double與其他類型的運算結果由其他數據類型決定。
1.3 復數
與我們熟知的復數一致,MATLAB的復數也是i或j為虛部標志。以下為關於復數的函數。
其中complex(a,b)為構造函數,a為實部b為虛部。real()為返回實部,abs()為返回模,conj()為返回共軛復數。
2. 字符與字符串
這里只提及MATLAB中的字符與字符串構造是都只用單引號",與c不同。關於字符與字符串的函數有些多,打算下次單獨寫。
3. 結構
MATLAB中的結構與C語言的結構體非常類似。這里介紹兩個點,構建與訪問。
3.1 構建結構有兩種方法,如下所示:
一是賦值構建:
二是使用struct函數構建:
二者使用上,個人傾向於第二種,對這種比較熟。
3.2 訪問結構對象
直接賦值訪問就行:
4. 單元數組
單元數組是一種廣義矩陣。與C語言的數組不同的是,MATLAB中的單元數組的每一個單元都可以是一個數組。以下分別從創建,訪問來簡單的介紹單元數組。
4.1 創建單元數組
有兩種方式,賦值與cell函數:
賦值法:(以‘’{}‘’創建,以‘’;‘’建立多維,以‘’,‘’或‘’ ‘’分割單元)
cell函數法:
4.2 訪問單元數組
類似指針,單元數組中單元與單元中的內容是不同的,類似單元=地址,所以訪問單元數組有兩種訪問,對單元的訪問,和對單元中的內容的訪問。
一是對單元的訪問,也稱為單元外標識;使用單元(m,n)指第m行,第n列的單元。
一是對單元中的內容的訪問,也稱為單元內編址;使用單元(m,n)指第m行,第n列的單元的內容。
5. 函數句柄
函數句柄是類似C語言中的宏定義,不過方式不一樣,關鍵字不一樣。例C語言將sin()函數宏定義為DD是這樣的:#define DD sin() 而MATLAB是這樣的:
總結:這只是初次對MATLAB進行學習,有些函數沒有介紹,例單元數組的操作函數,函數句柄的操作函數。但十分開心,這也是自己的嘗試。