当前位置:网站首页>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是否是结构型变量 |
边栏推荐
- 2022-07-29 顾宇佳 学习笔记 异常处理
- Performance testing of API Gateway APISIX on Google Cloud T2A and T2D
- 京东校招笔试题+知识点总结
- 基于时延估计的扰动卡尔曼滤波器外力估计
- Drools 规则引擎一文读懂
- 单片机开发之LCD1602显示实验
- SQL language and paging rownum analysis in Oracle
- Flexible distribution parameters of mechanical system modeling and control of research and development
- 文本的对齐方式、行高、空间 等总结
- UE5 GAS 学习笔记 后记0
猜你喜欢
随机推荐
Based on sliding mode control of uncertain neutral system finite time stable
听到'演员工作比工人辛苦,吃得也不如工人好?'我笑了
Verilog语法基础HDL Bits训练 08
程序环境和预处理(详解)
Bagging-Blending Multi-Model Fusion Short-Term Electricity Load Forecasting Based on Weighted Grey Correlation Projection
Leetcode 125. 验证回文串
The package of idea is not hollow
向上管理读书笔记
Horizontal comparison of 5 commonly used registration centers, whether it is used for interviews or technical selection, is very helpful
基于MySQL数据库,Redis缓存,MQ消息中间件,ES搜索引擎的高可用方案解析
数据库性能系列之索引(上)
备战金九银十!2022面试必刷大厂架构面试真题汇总+阿里七面面经+架构师简历模板分享
[ASP.NET Core] Dependency Injection for Option Classes
MySQL database maintenance
Digital input and output module DAM-5088
LCD1602 display experiment developed by single chip microcomputer
EA中的业务对象和业务实体你分得清吗?
stm32 RTC闹钟唤醒低功耗模式
流水线上的农民:我在工厂种蔬菜
Redis master-slave replication









