当前位置:网站首页>Matlab基础(3)——元胞与结构体
Matlab基础(3)——元胞与结构体
2022-07-30 11:28:00 【Myster_KID】
Matlab基础(3)——元胞与结构体
Matlab中的特殊变量允许用户 将不同但相关的数据类型集成一个单一的变量,以便数据的管理,类似C++中的结构体。
单元型变量(元胞)
单元型变量是以“单元”为元素的数组,每个单元可以包含各种类型的数据(如矩阵、字符串),通过{}
创建,通过下标直接引用。
数组类型为cell
,其中每个元素的类型也为cell
。
a = 1:10;
b = 'test';
c = [1+2i,1
1,1+2i];
ce = {a, b, c};
可以通过cell()
函数预先分配空间,再对其中的元素进行逐个赋值。
指令 | 效果 |
---|---|
cell(n) | 生成 n × n n\times n n×n阶空单元数组 |
cell(m,n) /cell([m,n]) | 生成 m × n m\times n m×n阶空单元数组 |
cell(m,n,p,...) /cell([...]) | 生成 m × n × p × ⋯ m\times n\times p\times\cdots m×n×p×⋯阶空单元数组 |
cell(size(X)) | 生成与矩阵 X X X同维的空单元数组 |
有关单元型变量的函数:可以通过lookfor cell
查找学习
函数 | 说明 |
---|---|
cellfun(func,C) | 对单元型变量中的每个元素依次执行函数func |
celldisp(C) | 在命令行中逐个输出每个元素的具体内容 |
cellplot(C) | 用彩色图形窗口逐个显示元素的内容 |
num2cell(num) | 将数值转换为单元型变量 |
deal | 输入输出处理 |
cell2struct(C) | 将单元型变量转换为结构型变量 |
struct2cell(St) | 将结构型变量转换为单元型变量 |
iscell(X) | 判断是否为单元型变量 |
reshape(X,[...]) | 将 X X X中的元素按列取出,再按列重构为[] 规定的维度 |
结构型变量
结构型变量是根据属性名field
组织起来的不同数据类型的集合,每个属性可以包含不同的数据类型,如字符串、矩阵等,类似字典。通过函数struct
来创建,通过属性名来引用属性值,通过索引来引用相应元素。
st = struct('name',{'Tom','Amy'}, 'sex',{'male','female'}, 'age',{18});
st(1); % 每个属性的第一个值 name:'Tom', sex:'male', age:18
st.sex; % 所有的sex属性 ans='male', ans='female'
st(2).name; % name属性的第二个值 ans='Amy'
创建结构型变量时,要求每个属性的长度一致,或者为标量(只有一个值),如上述的name
和sex
长度一致,age
是标量。
有关结构型变量的函数:可以通过lookfor struct
查找学习
函数 | 说明 |
---|---|
fieldnames(st) | 返回结构型变量的所有属性名 |
getfield(st,fieldName) | 返回指定属性名的所有属性值 |
setfield(st,fieldName,value) | 设定指定属性名的值为value |
rmfield(st,fieldName) | 删除指定属性 |
isfield(st,fieldName) | 判断fieldName 是不是st 的属性 |
isstruct(st) | 判断st 是否是结构型变量 |
边栏推荐
- STM32F1 reads MLX90632 non-contact infrared temperature sensor
- Farmers on the assembly line: I grow vegetables in a factory
- SCM engineers written questions induction summary
- Static LED display developed by single chip microcomputer
- Concepts of cloud-native applications and 15 characteristics of cloud-native applications
- 获取1688app上原数据 API
- [Cloud-Building Co-creation] Huawei Cloud and Hongmeng collaborate to cultivate innovative developers
- The battle-hardened programmer was also deceived by a fake programmer from a certain fish. The trust between programmers should be the highest, and he alone destroyed this sense of trust
- spin lock和mutex使用场景的差异
- idea的package没有空心
猜你喜欢
域名怎么注册备案解析?
基于MySQL数据库,Redis缓存,MQ消息中间件,ES搜索引擎的高可用方案解析
API 网关 APISIX 在Google Cloud T2A 和 T2D 的性能测试
我又造了个轮子:GrpcGateway
HJY-F931A/YJ三相电压继电器
contentDocument contentWindow,canvas 、svg,iframe
Redis 主从复制
AB test summary
idea的package没有空心
The battle-hardened programmer was also deceived by a fake programmer from a certain fish. The trust between programmers should be the highest, and he alone destroyed this sense of trust
随机推荐
VSCode更改插件的安装位置
基于滑模控制的不确定中立型系统有限时间稳定
反转链表-迭代反转法
基于声信道分析的电缆隧道人员定位技术
2022-07-29 Gu Yujia Study Notes Exception Handling
明德扬FPGA开发板XILINX-K7核心板Kintex7 XC7K325 410T工业级
模糊离散事件系统的可测性
C language - bitwise operations
《跟唐老师学习云网络》 - 问题定位 - 主机通但容器不通
MySQL database maintenance
Apifox 生成接口文档 教程与操作步骤
Verilog语法基础HDL Bits训练 07
湖仓一体电商项目(一):项目背景和架构介绍
云原生应用的概念和云原生应用的 15 个特征
TensorFlow custom training function
基于多目标两阶段随机规划方法的电热联合系统调度
英 文 换 行
ADC0808/9 signal acquisition developed by single chip microcomputer
编译Hudi
单片机开发之LCD1602显示实验