MATLAB-数据类型

Posted studyer_domi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB-数据类型相关的知识,希望对你有一定的参考价值。

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

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

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

例如:

a = 136;

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

MATLAB数据类型


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

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

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

示例


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

str = 'Hello World!'n = 2345d = double(n)un = uint32(789.50)rn = 5678.92347c = int32(rn)

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

Trial>> type
str =    'Hello World!'n =        2345d =        2345un =  uint32   790rn =   5.6789e+03c =  int32   5679
 

数据类型转换


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

图片

数据类型确定


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

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

图片

示例


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

a = 3isinteger(a)isfloat(a)isvector(a)isscalar(a)isnumeric(a)
a = 23.54isinteger(a)isfloat(a)isvector(a)isscalar(a)isnumeric(a)
a = [1 2 3]isinteger(a)isfloat(a)isvector(a)isscalar(a)
a = 'Hello'isinteger(a)isfloat(a)isvector(a)isscalar(a)isnumeric(a)

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

a = 3ans = 0ans = 1ans = 1ans = 1ans = 1a = 1177/50ans = 0ans = 1ans = 1ans = 1ans = 1a =
          1          2          3
ans = 0ans = 1ans = 1ans = 0a = Helloans = 0ans = 0ans = 1ans = 0ans = 0

以上是关于MATLAB-数据类型的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB中的数据从double类型强制转化为uint8其舍入用的是四舍五入,附MATLAB基本数据类型

在代码片段中包含类型转换

mex 编译错误:Matlab 数据类型和函数的预期表达式错误

matlab 为啥要进行数据类型转换?

对这个带有 & 不带 = 的代码片段返回类型感到非常困惑

matlab数据类型转换——int8转换成unit8