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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/643493.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪些因素影响了PCB电路板切割精度?

PCB电路板切割是电子制造过程中一个至关重要的环节,其精度对后续工序的质量和效率具有决定性影响。因此,了解影响PCB电路板切割精度的原因,对于提高电子产品的质量和生产效率具有重要意义。 1. PCB分板机稳定性 PCB分板机的性能直接影响到切…

STM32点灯大师(中断法)

一、使用CubeMX配置 新增加了RCC进行配置 二、代码 需要重写虚函数,给自己引用

架构师核心-云计算云上实战(云计算基础、云服务器ECS、云设施实战、云上高并发Web架构)

文章目录 云计算基础1. 概念1. 云平台优势2. 公有云3. 私有云4. IaaS、PaaS、SaaS 2. 云设施1. 概览2. 核心组件 云服务器ECS1. ECS介绍1. 简介2. 组件3. 概念4. 图解5. 规格6. 场景 2. ECS服务器开通1. 开通服务器2. 连接服务器 3. 云部署准备1. 1Panel介绍2. 安装1Panel3.安全…

【Camera KMD ISP SubSystem笔记】CRM V4L2驱动模型

1. CRM为主设备 /dev/video0,先创建 v4l2_device 设备,再创建 video_device 设备,最后创建 media_device 设备/dev/media0 v4l2_device的mdev指向media_device,v4l2_device的entity链接到media_device的entities上&#xff08…

Linux RTC驱动深入解析

目录标题 实时时钟(RTC)基础Linux内核中的RTC框架RTC设备类设备树(Device Tree) 编写Linux RTC驱动1. 初始化和注册2. RTC设备操作函数3. 清理函数 测试RTC驱动驱动开发的挑战总结 在许多嵌入式系统和服务器上,实时时钟…

AI时代的GPU集群网络算力分析

浅谈GPU集群网络、集群规模和集群算力 引言在生成式AI(GenAI)和大模型时代,不仅需要关注单个GPU卡的算力,更要关注GPU集群的总有效算力。单个GPU卡的有效算力可以通过该卡的峰值算力来测算,例如,对于Nvidia…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之五 简单进行车牌检测和识别

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之五 简单进行车牌检测和识别 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之五 简单进行车牌检测和识别 一、简单介绍 二、简单进行车牌检测和识别实现原理 …

【笔记django】创建一个app

创建app 错误 raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Cannot import rules. Check that dvadmin.rules.apps.RulesConfig.name is correct.原因 刚创建的rules的app被手动移动到了dvadmin目录下 而dvadmin/rules/apps.py的内容还是&…

S-Edge网关:柔性部署,让物联网接入更统一

S-Edge网关是什么? 网关是在实际物理世界与虚拟网络世界相连接的交叉点,为了让这个交叉点尽可能的复用,无需每种设备都配套一种连接方式,边缘网关主要就是用于传感器等物理设备与网络实现数据交互的通用设备,也称为物…

【STM32+HAL+Proteus】系列学习教程4---GPIO输入模式(独立按键)

实现目标 1、掌握GPIO 输入模式控制 2、学会STM32CubeMX配置GPIO的输入模式 3、具体目标:1、按键K1按下,LED1点亮;2、按键K2按下,LED1熄灭;2、按键K3按下,LED2状态取反; 一、STM32 GPIO 输入…

微信小程序webview和小程序通讯

1.背景介绍 1.1需要在小程序嵌入vr页面,同时在vr页面添加操作按钮与小程序进行通信交互 1.2 开发工具:uniapp开发小程序 1.3原型图 功能:.点击体验官带看跳转小程序的体验官带看页面 功能:点击立即咨询唤起小程序弹窗打电话 2.…

生成式AI原理技术详解(一)——神经网络与深度学习

本文主要介绍了生成式AI的最新发展,提到了GPT-5和AI软件工程师在行业中的影响,指出AI技术进步对国家竞争和个人职业发展的潜在影响。 未来已来 最近有两则新闻: sam altman自曝GPT-5细节,公开宣称GPT-5提升将非常大,任…