type
status
date
slug
summary
tags
category
icon
password
Property
判断变量数据类型的函数
下列函数可以对变量类型进行判断:
函数 | 作用 |
isinteger | 判断输入参数是否为整型数数组 |
islogical | 判断输入参数是否为逻辑量数组 |
isnumeric | 判断输入参数是否为数值数组 |
isreal | 判断输入参数是否为实数数组 |
ischar | 判断输入参数是否为字符数组 |
iscell | 判断输入参数是否为元胞数组 |
isfloat | 判断输入数组是否为浮点数组 |
ishandle | 判断输入数组是否有效的图形句柄 |
isempty | 判断输入数组是否为空 |
isprime | 确定哪些数组元素为质数 |
isnan | 确定哪些数组元素为 NaN |
isinf | 确定哪些数组元素为 Inf |
isequal | 判断数组是否相等 |
字符串类型(char)
在MATLAB中,字符串类型由一对单引号
'
包裹一段文字来定义。标准ASCII字符可以被转换为对应的ASCII码.字符串在内存中是以字符矩阵的形式存储的,可以对其进行矩阵的索引以及赋值操作:
数值类型(numeric)
在MATLAB中,数值类型的变量被默认为
double
类型的,可以使用类型转换将其转换为其他数值类型.MATLAB支持的数值类型见下表:
数值类型 | 描述 |
double | 双精度浮点数 |
single | 单精度浮点数 |
int8 | 8位带符号整数 |
int16 | 16位带符号整数 |
int32 | 32位带符号整数 |
int64 | 64位带符号整数 |
uint8 | 8位无符号整数 |
uint16 | 16位无符号整数 |
uint32 | 32位无符号整数 |
uint64 | 64位无符号整数 |
结构体(structure)
在MATLAB中,结构体是一个存储
{键: 值}
的数据结构,类似于Python语言中的字典结构体的基本使用
- 与大多数编程语言类似,MATLAB使用
.
来访问结构体中的字段:
- 对结构体列表使用下标表达式可以扩充或缩减结构体列表
- 结构体可以级联,即结构体中字段的取值也可以是结构体:
结构体的常用函数
函数 | 作用 |
struct | 创建结构体 |
struct2cell | 将结构体转换为元胞数组 |
cell2struct | 将元胞数组转换为结构体 |
isstruct | 判断某变量是否是结构体 |
structfun | 对结构体的每个字段都应用某函数 |
fieldnames | 获取结构体的所有字段名 |
isfield | 判断结构体是否包含某字段 |
getfield | 获取结构体某字段的值 |
setfield | 为结构体中的某字段赋值 |
rmfield | 删除结构体中的某字段 |
orderfields | 为结构体字段排序 |
元胞数组(cell)
在MATLAB中,元胞数组是一个可以容纳不同类型元素的数据结构,类似于Python语言中的列表.
元胞数组的基本使用
- 可以使用
{}
像定义矩阵一样定义元胞数组
上面三种方式是等价的,其中第二种方式使用单元索引赋值,而第三种方式使用内容索引赋值.
- 有两种方式访问元胞数组中的数据,分别是: 单元索引
()
和内容索引{}
- 使用单元索引
()
,我们得到的是一个子元胞数组. - 使用内容索引
{}
,我们得到的是元胞数组对应区域中的内容.
因为元胞数组的子集仍为元胞数组,在索引器内容的使用,我们有必要指明我们要访问的的是一个子元胞数组还是元胞数组对应区域中的内容.
元胞数组的常用函数
函数 | 作用 |
cell | 创建一个元胞数组 |
iscell | 判断某变量是否为元胞数组 |
cell2mat | 将元胞数组转为矩阵 |
cell2struct | 将元胞数组转为结构体 |
mat2cell | 将数组转换为指定大小元胞数组 |
num2cell | 将数组转换为相同大小的元胞数组 |
struct2cell | 将结构体转换为元胞数组 |
celldisp | 递归显示元胞数组中的内容 |
cellplot | 以图像形式绘制元胞数组的结构 |
cellfun | 对元胞数组的每个元胞应用某函数 |
其中
mat2cell
函数可以在转换的时候指定元胞数组各元胞的尺寸高维元胞数组
一个三维的元胞数组可以有行(row),列(column),层(layer)三个维度.在对元胞数组进行索引时,优先级从高到低的顺序分别是: 行→列→层
使用
cat
函数可以在指定维度上对元胞数组进行拼接.