MATLAB 的数据类型

在MATLAB中有15种基本的数据类型:

8种整型数据类型、单精度浮点型(float)、双精度浮点型(double)、逻辑型(logical)、字符串型(char)、单元数组型(cell)、结构体类型(struct)和函数句柄型(function_handle)。  【MATLAB中,默认的数值类型是 双精度浮点型(double)

>> a1= int8(-6)    %有符号整数

a1 =

  int8

   -6
--------------------------------------------------
>> a2=uint16(34)   %无符号整数

a2 =

  uint16

   34
--------------------------------------------------
>> a3=single(3.5)   %单精度浮点数

a3 =

  single

    3.5000
--------------------------------------------------
>> a4=12 

a4 =

    12
--------------------------------------------------
>> a5=true   %逻辑型

a5 =

  logical

   1
--------------------------------------------------
>> b2{2,1}=100   %单元数组

b2 =

  2×1 cell 数组

    []
    [100]
--------------------------------------------------
>> b3='hello'   %字符串类型

b3 =

hello
--------------------------------------------------
>> b4.familyname='Zhang'  %结构体类型

b4 = 

  包含以下字段的 struct:

    familyname: 'Zhang'
--------------------------------------------------
>> c=@cos  %函数句柄

c =

  包含以下值的 function_handle:

    @cos

>> 

在MATLAB编程中,变量不需要定义就可以使用。在程序中,建立了采用不同数据类型的变量,并进行了输出。在MATLAB的命令行窗口中输入whos 后,输出结果为:

1、整数

    8种整型数据类型分别为: 有符号整型:int8(1个字节), int16(2个字节), int32(4个字节), int64(8个字节);  无符号整型:uint8, uint16, uint32, uint64。(字节数同前)

2、浮点数

    浮点数和其他类型的数据进行运算时,返回的结果取决于运算中的其他数据类型。

3、复数

    可以采用赋值语句直接产生复数,也可以采用函数 complex()来产生复数。

4、逻辑类型数据

    包括逻辑真(用1表示,函数为true())、逻辑假(用0表示,函数为false())。

5、函数句柄(function_handle)

    在MATLAB中,函数句柄类似于C语言的指针,可以通过函数句柄来间接调用函数。函数句柄可以通过符号@后面跟函数名来创建。

    比如,程序 fhandle =@sin,创建了函数sin()的函数句柄 fhandle,以后就可以通过函数句柄 fhandle来间接调用函数 sin()。

6、结构体类型

    MATLAB的结构体类似于C语言中的结构体数据结构。结构体是按照成员变量名组织起来的不同数据类型数据的集合。

    每个成员变量用指针操作符 “.” 表示。例如 A.name 表示结构体变量 A 的 name 成员变量。

>> stu(1).name='Zhang';   %对成员变量 name 赋值
>> stu(1).age=20;   %对成员变量 age 赋值
>> stu(1).gender='Male';   %对成员变量 gender 赋值
>> stu(2).name='Li';   
>> stu(2).age=20;   
>> stu(2).gender='Male';   
>> stu   %显示成员变量
-------------------------------------
stu = 

  包含以下字段的 1×2 struct 数组:

    name
    age
    gender
-------------------------------------
>> stu(1)

ans = 

  包含以下字段的 struct:

      name: 'Zhang'
       age: 20
    gender: 'Male'
-------------------------------------
>> stu(2)

ans = 

  包含以下字段的 struct:

      name: 'Li'
       age: 20
    gender: 'Male'

>>  

7、单元数组

    单元数组是一种比较特殊的数据类型,每个元素都以单元(cell)的形式存在。在MATLAB中,采用大括号 { }  建立单元数组,也可以采用函数cell()来建立单元数组。在获取单元数组的元素时,下标需要用大括号括起来。

>>  c={'China','Good morning!';[1:3;2:4;3:5],20}   %建立单元数组

c =

  2×2 cell 数组

    'China'         'Good morning!'
    [3×3 double]    [           20]
---------------------------------------------
>> a1=c{1,1}    %获取单元数组中元素的值

a1 =

China
---------------------------------------------
>> a2=c{1,2}    %获取单元数组中元素的值

a2 =

Good morning!
---------------------------------------------
>> c{1,2}=[ ]    %删除单元数组中元素的值===》》》将单元数组的某些元素设置为空[ ],可以将该元素删除。

c =

  2×2 cell 数组

    'China'           []
    [3×3 double]    [20]

需要注意:采用成对的大括号({}) 只能获取单个的元素,

原文地址:https://www.cnblogs.com/shenxiaolin/p/6807826.html