文章目錄
- 數值類型
- 邏輯類型
- 字符串
- 字符串的構造
- 函數句柄
- 結構體類型
- 數組類型
- 單元數組
- map容器
MATLAB中的數據類型主要包括數值類型、邏輯類型、字符型、函數句柄、結構體和單元數組類型。
數值類型
數值類型主要有整數、單精度浮點數和雙精度浮點數。對于運算結果的整數類型溢出的將表示該整數類型最大值或最小值。e表示以10為底的指數。
數據格式:int8、unit8、int16、uint16、int32、uint32、int64和uint64、single、double。
a=uint32(120);b=single(22.809);c=73.226;
%ab=a*b 單精度浮點類型不能與整數類型進行算數運算
ac=a*c; %雙精度浮點數和整型進行運算結果為整型
bc=b*c; %雙精度浮點數和單精度浮點數進行運算結果為單精度浮點數
eps1=eps(3);%獲取與指定數最近的浮點數之間的間隙
復數包括實部和虛部,默認使用i或j表示虛部,常用函數如下:
- real(z):返回復數z的實部
- imag(z):返回復數z的虛部
- abs(z):返回復數z的模
- angle(z):返回復數z的輻角
- conj(z):返回復數z的共軛復數
- complex(a,b):以a為實部,b為虛部創建復數
MATLAB用Inf和-Inf表示正無窮和負無窮,NaN表示非數值量。
邏輯類型
邏輯類型主要有:<、<=、>、>=、== 和 ~=
A=1:9;
B=10-A;
TrueorFalse=(A==B);
字符串
每個字符串占兩個字節。
字符串的構造
字符串或字符串數組的構造可以通過直接給變量賦值來實現,具體表達式中字符串的內容需要寫在單引號內。如果字符串的內容包含單引號,那么以兩個重復的單引號來表示。
函數句柄
函數句柄可以方便名稱的管理,也可以加快程序運行的速度。
結構體類型
%通過字段賦值創建結構體
Student1.name='Sam';
Student1.grade=6;
Student1;
%通過struct函數創建結構體struct{'field1',var1,'field2',var,...}
%%Schedule1(1)
ScheduleArray=repmat(struct('Day','Thursday','Time','15:00','Number',18),1,2);
ScheduleArray(1);
ScheduleArray(2);
newArray=struct('Day',{'Thursday','Friday'},'Time',{'15:00','9:00'},'Number',{18,6});
newArray(1);
newArray(2);
數組類型
Array1=[1,2,3,4,5,6,7,8,9];
Array2=1:9;
Array3=1:2:9;
Array4=linspace(0,5,6);
單元數組
每一個單元可以包括任意數組,每個單元的數值類型都可以不同。聲明的時候用{},逗號分隔單元,分號分隔行。
CellA = {'x',[1;3;6];10,pi};
CellB = cell(2,2);
CellA{1,1};%{}尋訪內容
cellA(1,1);%()尋訪單元
%合并單元數組
CellC = {'haha'};
CellD = {CellA;CellC};
%刪除指定單元
CellA{1,2}={};
map容器
schedulemap = containers.Map({'Monday','Tuesday','Wednesday','Thursday','Friday'},{'Maths','Chinese','History','Geography','Biology'});
newMap = containers.Map();
remove(schedulemap,'Thursday')% 添加星期六及對應科目
schedulemap('Saturday') = 'Public elective course';% 修改Key 必須先刪除再添加
remove(schedulemap,'Saturday');
schedulemap('Sunday') = 'MBA';% 修改values
schedulemap('Monday')='english';
keys(schedulemap);
values(schedulemap);