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)使用大括号赋值语句。
单元索引
>> 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}