深入解析MATLAB数据类型

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

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

例如,

total = 136;1.


 
  MATLAB
 


上述语句创建一个名为​​total​​​的​​1x1​​​矩阵,并将值​​136​​存储在其中。


MATLAB数据类型

MATLAB提供​​15​​​种基本数据类型。每种数据类型存储矩阵或数组形式的数据。矩阵或数组的最小值是​​0​​​到​​0​​,并且是可以到任何大小的矩阵或数组。

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


数据类型描述​​int8​​​​8​​位有符号整数​​uint8​​​​8​​位无符号整数​​int16​​​​16​​位有符号整数​​uint16​​​​16​​位无符号整数​​int32​​​​32​​位有符号整数​​uint32​​​​32​​位无符号整数​​int64​​​​64​​位有符号整数​​uint64​​​​64​​位无符号整数​​single​​单精度数值数据​​double​​双精度数值数据​​logical​​逻辑值为​​1​​​或​​0​​​,分别代表​​true​​​和​​false​​​​char​​字符数据(字符串作为字符向量存储)单元格阵列索引单元阵列,每个都能够存储不同维数和数据类型的数组结构体C型结构,每个结构具有能够存储不同维数和数据类型的数组的命名字段函数处理指向一个函数的指针用户类用户定义的类构造的对象Java类从Java类构造的对象



示例

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

登录后复制 str = 'Hello World!'n = 2345d = double(n)un = uint32(789.50)rn = 5678.92347c = int32(rn)1.2.3.4.5.6.


 
  MATLAB
 


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

Trial>> datatype11.

str =

<span style="color:rgb(102,153,0);">'Hello World!'</span>1.

n =

<span style="color:rgb(153,0,85);">2345</span>1.

d =

<span style="color:rgb(153,0,85);">2345</span>1.

un =

uint32

790

rn =

5.6789e+03

c =

int32

5679


 MATLAB


数据类型转换

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​​在工作区中列出变量,其大小和类型


示例

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

x = 3isinteger(x)isfloat(x)isvector(x)isscalar(x)isnumeric(x)1.2.3.4.5.6.

x = 23.54
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

x = [1 2 3]
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)

x = ‘Hello’
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)


 MATLAB

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

x = 3ans = 0ans = 1ans = 1ans = 1ans = 1x = 1177/50ans = 0ans = 1ans = 1ans = 1ans = 1x = <span style="color:rgb(153,0,85);">1</span> <span style="color:rgb(153,0,85);">2</span> <span style="color:rgb(153,0,85);">3</span>1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.

ans = 0
ans = 1
ans = 1
ans = 0
x = Hello
ans = 0
ans = 0
ans = 1
ans = 0
ans = 0




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空