MATLAB 数据类型

embedded/2024/10/20 10:27:19/

在这里插入图片描述

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.ppmy.cn/embedded/12293.html

相关文章

盲人辅助器具生产新突破:赋能独立出行

作为一名记者,我有幸记录下盲人朋友借助一款名为蝙蝠避障的辅助出行应用,结合配套专用设备,实现独立、无障碍出行的生动场景。这款应用与设备的组合,以盲人辅助器具生产的最新成果,为视障人士带来前所未有的出行便利与…

❤ vue 使用原生组件

❤ vue 使用原生组件 1、input输入框 ① 想让我们的input输入框类型为时间&#xff0c;只需要为我们的输入框简单的加一个类型的type即可 <input type"date" id"birthday" name"birthday" placeholder"年/月/日"> 我们还可以…

负载均衡原理

一、什么是负载均衡&#xff1f; 互联网早期&#xff0c;业务流量比较小并且业务逻辑比较简单&#xff0c;单台服务器便可以满足基本的需求&#xff1b;但随着互联网的发展&#xff0c;业务流量越来越大并且业务逻辑也越来越复杂&#xff0c;单台机器的性能问题以及单点问题凸显…

(超级详细)JAVA之Stream流分析-------持续更新喔!!!

学习目标&#xff1a; 掌握 Java Stream流的相关api 掌握 Java Stream流的基本实现 掌握 java Stream流的使用场景 代码已经整理上传到了gitee中&#xff0c;有需要的小伙伴可以取查看一下源码点个小心心喔 大家也可以帮我提交一点案例喔&#xff01;&#xff01;&#xff01;&…

无人机飞行特点

你知道吗&#xff1f;无人机飞行竟然有这么多的神奇特点&#xff01; &#x1f929;想象一下&#xff0c;它们如同天空中的自由精灵&#xff0c;不受束缚地穿梭在云端。 &#x1f681; 首先&#xff0c;无人机的飞行高度和角度都可以随心所欲地调整&#xff0c;无论是俯瞰美景…

山东专升本计算机基础 --- Windows 10 操作系统安全

文章目录 Windows 10 操作系统安全1、Windows 10 系统安装的安全2、系统帐户安全3、应用安全策略4、网络安全策略 Windows 10 操作系统安全 1、Windows 10 系统安装的安全 操作系统的安全和安装操作系统的选项密切相关。 选择 NTFS 文件格式分区组件的定制安装 Windows 10 …

一个docker配置mysql主从服务器

这也就是因为穷&#xff0c;不然谁用一个docker配置主从&#xff0c;哈哈 既然成功了就记录下。过程挺折磨人的。 首先要保证你的电脑安装好了docker 为了保证docker当中主从能正常连网&#xff0c;现在docker里面创建一个网络环境 docker network create --driver bridge mysq…

IOS 设置UIButton按钮的选中状态样式

设置按钮的边框 self.titleBtn.backgroundColor UIColor.whiteColor;self.titleBtn.layer.borderColor [UIColor colorWithHexString:"#B3B3B3" withAlpha:0.3].CGColor;self.titleBtn.layer.borderWidth 0.5;self.titleBtn.clipsToBounds YES;self.titleBtn.hei…