- Matlab教程
- MATLAB - 主页
- MATLAB - 概述
- MATLAB - 环境设置
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - M 文件
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 决策
- MATLAB - 循环
- MATLAB - 向量
- MATLAB - 矩阵
- MATLAB - 数组
- MATLAB - 冒号表示法
- MATLAB - 数字
- MATLAB - 字符串
- MATLAB - 函数
- MATLAB - 数据导入
- MATLAB - 数据输出
- MATLAB 高级版
- MATLAB - 绘图
- MATLAB - 图形
- MATLAB - 代数
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 集成
- MATLAB - 多项式
- MATLAB - 变换
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB 有用资源
- MATLAB - 快速指南
- MATLAB - 有用的资源
- MATLAB - 讨论
MATLAB - 数据类型
MATLAB 不需要任何类型声明或维度声明。每当 MATLAB 遇到新的变量名时,它都会创建该变量并分配适当的内存空间。
如果变量已存在,则 MATLAB 会用新内容替换原始内容,并在必要时分配新的存储空间。
例如,
Total = 42
上面的语句创建一个名为“Total”的 1×1 矩阵,并在其中存储值 42。
MATLAB 中可用的数据类型
MATLAB 提供 15 种基本数据类型。每种数据类型都以矩阵或数组的形式存储数据。该矩阵或数组的大小最小为 0×0,并且可以增长到任何大小的矩阵或数组。
下表显示了 MATLAB 中最常用的数据类型 -
先生。 | 数据类型和描述 |
---|---|
1 | 整型8 8 位有符号整数 |
2 | uint8 8 位无符号整数 |
3 | 整型16 16 位有符号整数 |
4 | uint16 16 位无符号整数 |
5 | 整型32 32 位有符号整数 |
6 | uint32 32 位无符号整数 |
7 | 整型64 64 位有符号整数 |
8 | uint64 64 位无符号整数 |
9 | 单身的 单精度数值数据 |
10 | 双倍的 双精度数值数据 |
11 | 逻辑的 逻辑值1或0,分别代表true和false |
12 | 字符 字符数据(字符串存储为字符向量) |
13 | 单元阵列 索引单元数组,每个索引单元能够存储不同维度和数据类型的数组 |
14 | 结构 类似 C 的结构,每个结构都具有能够存储不同维度和数据类型的数组的命名字段 |
15 | 函数句柄 指向函数的指针 |
16 | 用户类别 从用户定义的类构造的对象 |
17 号 | java类 从 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 提供了各种将值从一种数据类型转换为另一种数据类型的函数。下表显示了数据类型转换函数 -
功能 | 目的 |
---|---|
字符 | 转换为字符数组(字符串) |
int2str | 将整数数据转换为字符串 |
mat2str | 将矩阵转换为字符串 |
数字2str | 将数字转换为字符串 |
str2双 | 将字符串转换为双精度值 |
字符串2号 | 将字符串转换为数字 |
原生2unicode | 将数字字节转换为 Unicode 字符 |
unicode2native | 将 Unicode 字符转换为数字字节 |
基数2dec | 将 N 基数字符串转换为十进制数 |
bin2dec | 将二进制数字字符串转换为十进制数字 |
十进制数据库 | 将字符串中的小数转换为以 N 为基数的数字 |
十进制2bin | 将字符串中的十进制数转换为二进制数 |
十进制 | 将字符串中的十进制数转换为十六进制数 |
十六进制2dec | 将十六进制数字字符串转换为十进制数字 |
十六进制数 | 将十六进制数字字符串转换为双精度数字 |
十六进制数 | 将单打和双打转换为 IEEE 十六进制字符串 |
细胞2垫 | 将元胞数组转换为数值数组 |
细胞2结构体 | 将元胞数组转换为结构体数组 |
细胞因子 | 从字符数组创建字符串元胞数组 |
mat2cell | 将数组转换为具有可能不同大小的单元格的单元格数组 |
单元格数量 | 将数组转换为单元格大小一致的单元格数组 |
结构2单元 | 将结构体转换为元胞数组 |
数据类型的确定
MATLAB 提供了各种函数来识别变量的数据类型。
下表提供了用于确定变量数据类型的函数 -
功能 | 目的 |
---|---|
是 | 检测状态 |
伊萨 | 确定输入是否是指定类的对象 |
伊塞尔 | 判断输入是否为元胞数组 |
iscellstr | 确定输入是否为字符串元胞数组 |
伊斯查尔 | 判断item是否为字符数组 |
伊斯菲尔德 | 判断输入是否为结构体数组字段 |
是浮动的 | 判断输入是否为浮点数组 |
什甘德尔 | 对于 Handle Graphics 对象句柄为 True |
是整数 | 判断输入是否为整数数组 |
是java | 判断输入是否是Java对象 |
不合逻辑的 | 判断输入是否为逻辑数组 |
是数字的 | 判断输入是否为数值数组 |
对象 | 确定输入是否为 MATLAB 对象 |
是真实的 | 检查输入是否是真实数组 |
是标量 | 确定输入是否为标量 |
伊斯特 | 判断输入是否为字符数组 |
结构体 | 判断输入是否为结构体数组 |
向量 | 判断输入是否为向量 |
班级 | 确定对象的类别 |
验证属性 | 检查数组的有效性 |
谁是 | 列出工作区中的变量,包括大小和类型 |
例子
使用以下代码创建脚本文件 -
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