MATLAB筆記之數據結構

MATLAB筆記之數據結構

字符串

在MATLAB中字符采用16位Unicode編碼,每個字符佔用2字節的存儲空間。
長度相同的字符串組成的數組叫做字符數組。
長度不同的字符串組成的數組叫字符串單元數組。

數據類型 創建方式
一維字符數組 A=‘abc’
二維字符數組 A=[‘abc’;‘abc’]或者A=char(‘abc’,‘abc’)字符串等長
字符串單元數組 A={‘a’;‘ab’}或者cellstr()字符串可不等長
混淆點 區別
字符串連接 [ ]直接連接;strcat()去除尾部空格連接
字符串比較 strcmp()直接比較字符;isequal()直接比較Unicode碼
字符串查找 findstr()在長的字符串中查找短的字符串;strfind()在第一個字符串中查找第二個字符串(高版本使用isstrprop()函數)
字符串轉換 str2num()矩陣運算,生成數值矩陣;str2double()標量運算,生成數值

結構數組

類似於C語言結構體的“結構–>字段–>字段值”形式,可以包含任何類型的數據。

數據類型 創建方式
結構數組 (.)運算符 A.name=‘abc’;A.rank=2;A.score=[90 90 90]
結構數組 struct()函數,A=struct(‘name’,{‘aa’,‘bb’},‘rank’,{1,2})創建1X2結構

單元數組

單元數組是一種特殊的數組形式,可以存儲不同類型的數據結構,數組中每個單元是獨立存在的。

結構數組通過字段獲取信息,單元數組通過矩陣索引獲取信息。

單元數組類似於鏈表,每個鏈表節點類似於結構體,鏈表存儲空間不一定連續,但鏈表節點存儲空間一定是連續的。每個單元附帶兩個位置指針4字節和單元信息56字節。
在這裏插入圖片描述

數據類型 創建方式
單元數組 直接創建 A(1)={{‘abc’;‘def’}};A(2)={[‘A’ ‘B’]};A(3)={[90 90 90]}
單元數組 cell()函數

函數句柄

函數句柄是一種特殊的數據類型,提供間接調用函數的方法,類似於C語言的指針,在MATLAB中指向函數。

數據類型 創建方式
函數句柄 @創建 A=@sin;
函數句柄 str2func()函數創建 A=str2func(‘sin’)

矩陣、向量、標量、數組

矩陣:矩陣是二維的,由行和列組成
向量:一維長度爲1,另一維長度大於1的矩陣,分爲行向量和列向量
標量:兩維長度都爲1的矩陣
數組:數組的維數爲任意非負整數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章