MATLAB 数据类型

MATLAB 数据类型

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

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

例如,

Total = 42

上面的语句创建一个名为" Total"的1比1矩阵,并将值42存储在其中。

MATLAB中可用的数据类型

MATLAB提供了15种基本数据类型。每种数据类型都存储矩阵或数组形式的数据。此矩阵或数组的大小最小为0×0,并且可以增长到任意大小的矩阵或数组。

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

序号 数据类型和说明

1

int8

8位有符号整数

2

uint8

8位无符号整数

3

int16

16位有符号整数

4

uint16

16位无符号整数

5

int32

32位有符号整数

6

uint32

32位无符号整数

7

int64

64位有符号整数

8

uint64

64位无符号整数

9

single

单精度数值数据

10

double

双精度数值数据

11

logical

逻辑值1或0,分别表示true和false

12

char

字符数据(字符串存储为字符向量)

13

cell array

索引单元格数组,每个单元格能够存储不同维度和数据类型的数组

14

structure

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

15

function handle

指向函数的指针

16

user classes

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

17

java classes

从Java类构造的对象

实例

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

示例

str = 'Hello World!'

n = 2345

d = double(n)

un = uint32(789.50)

rn = 5678.92347

c = int32(rn)

编译并执行上述代码后,将产生以下结果-

str = Hello World!

n = 2345

d = 2345

un = 790

rn = 5678.9

c = 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 列出工作空间中的变量,包括大小和类型

实例

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

示例

x = 3

isinteger(x)

isfloat(x)

isvector(x)

isscalar(x)

isnumeric(x)

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)

运行文件时,它将产生以下结果-

x = 3

ans = 0

ans = 1

ans = 1

ans = 1

ans = 1

x = 23.540

ans = 0

ans = 1

ans = 1

ans = 1

ans = 1

x =

复制代码
      1          2          3

ans = 0

ans = 1

ans = 1

ans = 0

x = Hello

ans = 0

ans = 0

ans = 1

ans = 0

ans = 0

相关推荐
喵手1 分钟前
Python爬虫实战:采集菜谱网站的“分类/列表页”(例如“家常菜”或“烘焙”频道)数据,构建高可用的美食菜谱数据采集流水线(附CSV导出)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集菜谱网站数据·家常菜或烘焙频道·构建高可用食谱数据采集系统
喵手2 分钟前
Python爬虫实战:硬核解析 Google Chrome 官方更新日志(正则+文本清洗篇)(附 CSV 导出)!
爬虫·python·爬虫实战·零基础python爬虫教学·csv导出·监控谷歌版本发布历史·获取稳定版更新日志
星火开发设计2 分钟前
this 指针:指向对象自身的隐含指针
开发语言·数据结构·c++·学习·指针·知识
梵刹古音3 分钟前
【C++】构造函数
开发语言·c++
小邓睡不饱耶5 分钟前
实战|W餐饮平台智能化菜品推荐方案(含Spark实操+算法选型+完整流程)
python·ai·ai编程·ai写作
独自破碎E6 分钟前
【曼哈顿距离】BISHI25 最大 FST 距离
java·开发语言
苏涵.6 分钟前
Java三大集合:List、Set、Map
java·开发语言
Amumu121386 分钟前
Vue3 Composition API(一)
开发语言·javascript·ecmascript
存在的五月雨6 分钟前
Spring Security认证流程
java·开发语言·mysql
树码小子7 分钟前
综合练习:验证码案例(1)总体设计
java·开发语言·spring