1、數值型
- 整數
- 浮點數
- 複數
2、邏輯型:分別用1和0表示真和假兩種狀態
3、字符數組
在matlab中,每個字符都用一個16位的Unicode編碼數值表示。8位的ASCII字符代碼集是Unicode字符代碼集的子集
- 字符數組
使用char()函數可以創建m*n的字符數組,如用char函數創建二維字符數組
>> char('abcd','edf')
ans =
2×4 char 數組
'abcd'
'edf '
注意,char會自動在短的字符數組後加上空格,用[]創建二維字符數組時,要手動的在短的字符串後加上空格,保證每行有相同的長度。
- 字符串單元數組
字符串單元數組可以用{ }創建
>> week={'Sunday';'Monday';'Tuesday'}
week =
3×1 cell 數組
{'Sunday' }
{'Monday' }
{'Tuesday'}
4、結構數組
結構數組也稱位結構或結構體,是一種用字段來容納數據的MATLAB數組,結構數組的字段可以包含任何類型的數據
創建結構的兩種方法;
1) 使用(.)運算符。如創建一個名爲dafei的學生的成績信息:
>> student_information.name='qiao';
>> student_information.age='22'
student_information =
包含以下字段的 struct:
name: 'qiao'
age: '22'
如果再添加一個學生的信息可以這樣做:
>> student_information(2).name='chang';
>> student_information(2).age='23'
student_information =
包含以下字段的 1×2 struct 數組:
name
age
注意:對於多維結構數組,不會在顯示每個字段的內容,只會顯示字段的名稱如name
2)利用struct函數創建結構數組。
用法:s=struct('field1','name1',field2','name2',...)
如:
>> s=struct('name',{{'qiao','chang'}},'age',[2,1])
s =
包含以下字段的 struct:
name: {'qiao' 'chang'}
age: [2 1]
>> s=struct('name',{'qiao','chang'},'age',[2,1])
s =
包含以下字段的 1×2 struct 數組:
name
age
5、單元數組
單元數組是一種特殊數組,單元數組的每一位可以存儲不同的數據。如A是一個單元數組,A{1}可以是一個字符串單元數組,A{2}可以是一個數字矩陣
創建單元數組有使用大括號{}和使用cell函數兩種方法
1)使用大括號賦值語句。
- 單元索引(matlab裏單元索引要用()而不是【】)
單元索引
>> A(1)={{'ab','cd'}}';
A(2)={[1 2]};
A(3)={['ab';'cd']}
A =
1×3 cell 數組
{1×2 cell} {1×2 double} {2×2 char}
內容索引
>> A{1}={{'ab','cd'}}';
A{2}=[1 2];
A{3}=['ab';'cd']
A =
1×3 cell 數組
{1×1 cell} {1×2 double} {2×2 char}
注意:內容索引:賦值語句左邊,把單元的下 標放在{}中,右邊指定單元內容。
單元索引:賦值語句左邊,把單元下標放在()中,右邊把單元內容放入花括號{}
2)使用cell函數初始化單元數組。
調用格式 | 格式說明 |
c=cell(n) | 創建一個n*n的各單元爲空矩陣的單元數組 |
c=cell(m,n) c=cell([m,n]) | 創建一個m*n的各單元爲空矩陣的單元數組 |
c=cell(m,n,p,...) c=cell([m,n,p,...]) |
創建一個m*n*p...的各單元爲空矩陣的單元數組 |
c= cell(size(A)) | 創建一個與A同維的各單元爲空矩陣的單元數組 |
>> c=cell(1,3)
c =
1×3 cell 數組
{0×0 double} {0×0 double} {0×0 double}
>> c(1)={{'qiao','chang'}}
c =
1×3 cell 數組
{1×2 cell} {0×0 double} {0×0 double}
>> c(2)={[1 2]}
c =
1×3 cell 數組
{1×2 cell} {1×2 double} {0×0 double}
>> c(3)={['b';'a']}
c =
1×3 cell 數組
{1×2 cell} {1×2 double} {2×1 char}