matlab中的数据类型,以及生成数据或查看数据类型的代码

  1. 数值类型
    • double:双精度浮点数,MATLAB 中默认的数值类型。它使用 64 位(8 字节)来存储数据,包括符号位、指数和尾数。
    • single:单精度浮点数,使用 32 位(4 字节)来存储数据,适用于需要节省内存但可以接受较低精度的场合。
    • int8int16int32int64:有符号整数类型,分别使用 8 位、16 位、32 位和 64 位来存储整数。
    • uint8uint16uint32uint64:无符号整数类型,同样分别使用 8 位、16 位、32 位和 64 位来存储非负整数。
  2. 逻辑类型
    • logical:用于表示真(true)或假(false)的布尔值。在 MATLAB 中,非零值被视为真(true),零值被视为假(false)。
  3. 字符和字符串
    • char:在较旧的 MATLAB 版本中用于表示字符数组(字符串)。但在 R2016b 及更高版本中,推荐使用 string 类型。
    • string:在 R2016b 及更高版本中引入,用于表示字符串。它是动态数组,可以包含任意数量的字符,并且提供了丰富的字符串处理函数。
  4. 结构体(Struct)
    • struct:结构体是一种复合数据类型,允许你将不同类型的数据组合成一个单一实体。每个结构体实例都可以包含多个字段,每个字段都有自己的名称和数据类型。
  5. 单元数组(Cell Array)
    • cell:单元数组是一种特殊类型的数组,其元素可以是任何类型的数据(包括其他数组、结构体等)。单元数组中的每个元素都是一个单元(cell),可以单独访问和修改。
  6. 函数句柄(Function Handle)
    • 函数句柄不是一种变量类型,但它允许你将函数作为变量传递给其他函数或存储在数组中。函数句柄提供了一种灵活的方式来引用和操作函数。
  7. 表(Table)
    • table:表是一种高级数据结构,用于存储行和列的数据,类似于电子表格或数据库表。表中的每一列可以有不同的数据类型,并且可以使用列名来访问数据。
  8. 类别数组(Categorical Array)
    • categorical:类别数组是一种特殊类型的数组,用于存储名义或有序类别的数据。类别数组提供了一种方便的方式来处理文本数据,同时保持数据的紧凑性和高效性。
  9. 时间数组(Datetime Array)
    • datetime:时间数组用于表示日期和时间。MATLAB 提供了丰富的函数来创建、操作和查询时间数组。
  10. 持续时间数组(Duration Array)
    • duration:持续时间数组用于表示时间间隔。它们通常与日期时间数组一起使用,以计算两个时间点之间的差异。
  11. % 数值类型  
    doubleVar = 3.14;  % 双精度浮点数  
    singleVar = single(3.14);  % 单精度浮点数  
    int8Var = int8(123);  % 8位有符号整数  
    uint16Var = uint16(45678);  % 16位无符号整数  
      
    % 逻辑类型  
    logicalVar = true;  % 逻辑真  
      
    % 字符和字符串(在较新版本的MATLAB中,建议使用string)  
    charVar = 'Hello';  % 字符数组(旧版)  
    stringVar = "World";  % 字符串(推荐)  
      
    % 结构体  
    structVar.name = 'John Doe';  
    structVar.age = 30;  
      
    % 单元数组  
    cellVar = {'MATLAB', 123, 3.14, true, structVar};  
      
    %{ 函数句柄(示例函数)  
    function y = exampleFunction(x)  
        y = x^2;  
    end  
    functionHandle = @exampleFunction;  
      
    %}  
    % 由于这里是在脚本中,通常不直接在脚本中定义函数句柄所引用的函数。  
    % 在实际应用中,会在一个单独的文件中定义这个函数,然后在脚本或另一个函数中引用它。  
      
    % 表(需要MATLAB R2013b或更高版本)  
    tableVar = table(rand(5,1), rand(5,1), 'VariableNames', {'Column1', 'Column2'});  
      
    % 类别数组(需要MATLAB R2013b或更高版本)  
    categoricalVar = categorical({'apple', 'banana', 'cherry'});  
      
    % 时间数组(需要MATLAB R2014b或更高版本)  
    datetimeVar = datetime('now');  
      
    % 持续时间数组(需要MATLAB R2014b或更高版本)  
    durationVar = duration(1, 2, 3, 4);  % 1天2小时3分钟4秒  
      
    % 显示变量类型  
    disp('doubleVar type:'), class(doubleVar)  
    disp('singleVar type:'), class(singleVar)  
    disp('int8Var type:'), class(int8Var)  
    disp('uint16Var type:'), class(uint16Var)  
    disp('logicalVar type:'), class(logicalVar)  
    disp('charVar type:'), class(charVar)  
    disp('stringVar type:'), class(stringVar)  
    disp('structVar type:'), class(structVar)  
    disp('cellVar type:'), class(cellVar)  
    % 函数句柄的类型不是直接通过class获得的
    disp('functionHandle type-related:'), class(functionHandle)  % 返回'function_handle'  
    disp('tableVar type:'), class(tableVar)  
    disp('categoricalVar type:'), class(categoricalVar)  
    disp('datetimeVar type:'), class(datetimeVar)  
    disp('durationVar type:'), class(durationVar)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值