• MATLAB数据类型


    默认情况下,MATLAB ®存储所有数值变量为双精度浮点值。其他数据类型存储文本,整数或单精度值或单个变量中相关数据的组合。

    MATLAB不需要任何类型声明或维度语句。当MATLAB遇到新的变量名称时,它将创建变量并分配适当的内存空间。

    如果变量已经存在,则MATLAB将使用新内容替换原始内容,并在必要时分配新的存储空间。

    例如:

    total = 136;

    上述语句创建一个名为total1x1矩阵,并将值136存储在其中。

    MATLAB数据类型


    MATLAB提供15种基本数据类型,分别是8种整型数据、单精度浮点型、双精度浮点型、逻辑型、字符串型、单元数组、结构体类型和函数句柄。每种数据类型存储矩阵或数组形式的数据。矩阵或数组的最小值是00,并且是可以到任何大小的矩阵或数组。

    下表显示了MATLAB中最常用的数据类型:

    数据类型描述
    int88位有符号整数
    uint88位无符号整数
    int1616位有符号整数
    uint1616位无符号整数
    int3232位有符号整数
    uint3232位无符号整数
    int6464位有符号整数
    uint6464位无符号整数
    single单精度数值数据
    double双精度数值数据
    logical逻辑值为10,分别代表truefalse
    char字符数据(字符串作为字符向量存储)
    单元格阵列索引单元阵列,每个都能够存储不同维数和数据类型的数组
    结构体C型结构,每个结构具有能够存储不同维数和数据类型的数组的命名字段
    函数处理指向一个函数的指针
    用户类用户定义的类构造的对象
    Java类从Java类构造的对象

    示例


    使用以下代码创建脚本文件(datatype1.m):

    1. str = 'Hello World!'
    2. n = 2345
    3. d = double(n)
    4. un = uint32(789.50)
    5. rn = 5678.92347
    6. c = int32(rn)

    当上述代码被编译和执行时,它产生以下结果:

    1. Trial>> datatype1
    2. str =
    3. 'Hello World!'
    4. n =
    5. 2345
    6. d =
    7. 2345
    8. un =
    9. uint32
    10. 790
    11. rn =
    12. 5.6789e+03
    13. c =
    14. int32
    15. 5679

    数据类型转换


    MATLAB提供了各种用于将一种数据类型转换为另一种数据类型的函数。 下表显示了数据类型转换函数:

    函数描述说明
    char转换为字符数组(字符串)
    int2str将整数数据转换为字符串
    mat2str将矩阵转换为字符串
    num2str将数字转换为字符串
    str2double将字符串转换为双精度值
    str2num将字符串转换为数字
    native2unicode将数字字节转换为Unicode字符
    unicode2native将Unicode字符转换为数字字节
    base2dec将基数N字符串转换为十进制数
    bin2dec将二进制数字串转换为十进制数
    dec2base将十进制转换为字符串中的N数字
    dec2bin将十进制转换为字符串中的二进制数
    dec2hex将十进制转换为十六进制数字
    hex2dec将十六进制数字字符串转换为十进制数
    hex2num将十六进制数字字符串转换为双精度数字
    num2hex将单数转换为IEEE十六进制字符串
    cell2mat将单元格数组转换为数组
    cell2struct将单元格数组转换为结构数组
    cellstr从字符数组创建字符串数组
    mat2cell将数组转换为具有潜在不同大小的单元格的单元阵列
    num2cell将数组转换为具有一致大小的单元格的单元阵列
    struct2cell将结构转换为单元格数组

    数据类型确定


    MATLAB提供了用于识别变量数据类型的各种函数。

    下表提供了确定变量数据类型的函数:

    函数描述说明
    is检测状态
    isa确定输入是否是指定类的对象
    iscell确定输入是单元格数组
    iscellstr确定输入是字符串的单元格数组
    ischar确定项目是否是字符数组
    isfield确定输入是否是结构数组字段
    isfloat确定输入是否为浮点数组
    ishghandle确定是否用于处理图形对象句柄
    isinteger确定输入是否为整数数组
    isjava确定输入是否为Java对象
    islogical确定输入是否为逻辑数组
    isnumeric确定输入是否是数字数组
    isobject确定输入是否为MATLAB对象
    isreal检查输入是否为实数数组
    isscalar确定输入是否为标量
    isstr确定输入是否是字符数组
    isstruct确定输入是否是结构数组
    isvector确定输入是否为向量
    class确定对象的类
    validateattributes检查数组的有效性
    whos在工作区中列出变量,其大小和类型

    示例


    使用以下代码创建脚本文件:

    1. x = 3
    2. isinteger(x)
    3. isfloat(x)
    4. isvector(x)
    5. isscalar(x)
    6. isnumeric(x)
    7. x = 23.54
    8. isinteger(x)
    9. isfloat(x)
    10. isvector(x)
    11. isscalar(x)
    12. isnumeric(x)
    13. x = [1 2 3]
    14. isinteger(x)
    15. isfloat(x)
    16. isvector(x)
    17. isscalar(x)
    18. x = 'Hello'
    19. isinteger(x)
    20. isfloat(x)
    21. isvector(x)
    22. isscalar(x)
    23. isnumeric(x)

    运行文件后,产生以下结果:

    1. x = 3
    2. ans = 0
    3. ans = 1
    4. ans = 1
    5. ans = 1
    6. ans = 1
    7. x = 1177/50
    8. ans = 0
    9. ans = 1
    10. ans = 1
    11. ans = 1
    12. ans = 1
    13. x =
    14. 1 2 3
    15. ans = 0
    16. ans = 1
    17. ans = 1
    18. ans = 0
    19. x = Hello
    20. ans = 0
    21. ans = 0
    22. ans = 1
    23. ans = 0
    24. ans = 0
  • 相关阅读:
    Pycharm中6个常用插件推荐
    C++中的多线程编程:高效的并发处理方式
    去除angular中blob图片显示报unsafe的错误提示
    python的opencv操作记录(五) - 插值第一篇
    HotReload for unity支持的代码修改
    【超级详细的Vue安装与配置教程】
    JavaScript逆向循环和嵌套循环
    openresty lua-resty-dns 域名解析
    关于Git使用:fatal: Could not read from remote repository.的报错问题解决
    【6G】算力网络技术白皮书整理
  • 原文地址:https://blog.csdn.net/std86021/article/details/127781627