matlab isinteger,MATLAB数据类型

本文详细介绍了MATLAB中的基本数据类型,包括有符号和无符号整数(int8, uint16等)、单精度和双精度浮点数、逻辑值、字符数组、单元格数组、结构数组、函数句柄以及用户自定义类。这些数据类型在矩阵或数组中使用,支持各种数学运算。MATLAB默认数值类型为双精度,但也支持内存效率更高的整数和单精度类型。此外,文章还讨论了如何转换数据类型以及复数的相关函数。
摘要由CSDN通过智能技术生成

本文概述

MATLAB中的基本数据类型(也称为类)是数组或矩阵。 MATLAB中有15种基本数据类型。这些数据类型中的每一个都在矩阵或数组的内部。此矩阵或数组的大小最小为0 x 0, 并且可以增加到任意大小的n维数组。

matlab-data-types.png

下表描述了这些数据类型是:

Data Type

Example

Description

int8, uint8, int16, uint16, int32, uint32, int64, uint64

uint16(65000)

有符号和无符号整数的数组。它需要的存储空间少于单个或两倍。除int64和uint64之外的所有整数数据类型均可用于数学运算。

single

3 * 10^38

单精度数字的数组。它需要的存储空间少于两倍, 但精度较低, 范围较小。

double

3 * 10 ^ 300 5 + 6i

双精度数字数组。二维数组可以是稀疏的。 MATLAB中的默认数值类型。

logical

魔力(4)> 10

逻辑值1或0的数组, 分别表示true和false。二维数组可以是稀疏的。

char

‘Hello’

字符数组。字符串表示为字符向量。对于包含多个字符串的数组, 最好使用单元格数组。

cell array

a {1, 1} = 12; a {1, 2} =’红色’; a {1, 3} = magic(4);

索引单元格数组, 每个单元格能够保存各种维数和数据类型的数组。

structure

a.day = 12; a.color =’红色’; a.mat = magic(3);

C类结构的数组, 每个结构都具有能够存储不同维度和数据类型的数组的命名字段。

function handle

@sin

指向函数的指针。你可以将函数句柄传递给其他函数。

用户类别

多项式([0 -2 -5])

从用户定义的类构造的对象。

Java类

java.awt.Frame

从Java类构造的对象。

数值类型

MATLAB中的数值数据类型包含有符号和无符号整数, 以及单精度和双精度浮点数。整数和单精度数组比双精度数组提供更高的内存效率存储。

所有数字类型都提供基本的数组功能, 例如下标和整形。除int64和uint64之外的所有数字类型都可以在数字运算中使用。

整数

MATLAB具有四个有符号和四个无符号整数数据类型。

带符号的类型既可以使用负数也可以使用正数, 但是不能执行与无符号类型相同的数字范围, 因为使用一位来指定数字的正号或负号。

无符号类型可以提供更大范围的数字, 但是这些数字只能为零或正数。

MATLAB提供了数字数据的1、2、4和8字节存储。如果我们使用容纳你数据的最小整数类型, 则可以节省程序的内存和执行时间。例如, 我们不需要32位整数来保存值100。

这是八个数字数据类型, 每种类型可以保存的值范围, 以及创建该类型所需的MATLAB转换操作:

Data Type

取值范围

转换功能

有符号的8位整数

-27至27-1

int8

有符号的16位整数

-215至215-1

int16

有符号的32位整数

-231至231-1

int32

有符号的64位整数

-263至263-1

int64

无符号8位整数

0至28-1

uint8

无符号16位整数

0至216-1

uint16

无符号32位整数

0至232-1

uint32

无符号64位整数

0至264-1

uint64

创建整数数据

MATLAB默认将数字数据保存为双精度浮点数。要将数据保存为整数, 请使用上表所示的转换函数之一:

x = int16 (32501);

我们可以使用whos函数显示变量表示的数组的维数, 字节数和数据类型:

whos x

Name Size Bytes Class

x 1x1 2 int16 array

如果要分配输出, 可以使用class函数, 如下所示:

xType = class(x)

xType =

int16

如果只想验证x是整数, 请使用isinteger函数:

isinteger(x)

ans =

1

整数函数

Function

Description

int8, int16, int32, int64

它将转换为有符号的1、2、4或8字节整数。

UINT8, UINT16, UINT32, UINT64

它将转换为无符号的1、2、4或8字节整数。

class

它返回对象的数据类型。

isa

它确定输入值是否具有指定的数据类型。

isinteger

它确定输入值是否为整数数组。

isnumeric

它确定输入值是否为数字数组。

浮点数字

MATLAB以双精度或单精度格式显示浮点数。默认值为双精度, 但是我们可以使用简单的转换函数来制作任意数量的单精度。

双精度浮点

MATLAB根据IEEE标准754编写了double数据类型, 以实现双精度。存储为双重需要的64位的任何值, 其格式如下表所示:

Bits

Usage

63

符号(0 =正, 1 =负)

62至52

指数, 偏差为1023

51至0

1.f的分数f

单精度浮点

MATLAB会根据IEEE标准754编写单一精度的单一数据类型。保存为单个值的任何值都需要32位, 格式如下表所示:

Bits

Usage

31

符号(0 =正, 1 =负)

30至23

指数, 偏差为127

22至0

1.f的分数f

浮点函数

Function

Description

double

转换为双精度。

single

转换为单精度。

class

它返回对象的数据类型。

isa

它确定输入值是否具有指定的数据类型。

isfloat

它确定输入值是否为浮点数组。

isnumeric

它确定输入值是否为数字数组

eps

它返回浮点相对精度。该值是MATLAB在评估中使用的公差。

realmax

它返回你的计算机可以代表的最大浮点数。

realmin

它返回我们的计算机可以代表的最小浮点数。

复数

复数由两个独立的部分组成:实部和虚部。初级虚数单位等于-1的平方根。这在MATLAB中以两个字母之一显示:i或j。

创建复数

以下语句显示了一种在MATLAB中创建复杂值的方法。为变量x分配了一个复数, 其实部为2, 虚部为3:

x = 2 + 3i;

复数函数

Function

Description

complex

它根据实部和虚部构造复杂的数据。

我或j

它返回用于构造复杂数据的虚拟单位。

real

它返回复数的实部

imag

它返回复数的虚部。

isreal

它确定数字是实数还是虚数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值