MATLAB里的数据类型

1、数值型

  1. 整数
  2. 浮点数
  3. 复数

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}

 

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