MATLAB R2018b学习笔记(11)

本文详细介绍MATLAB中的元胞数组和结构数组,包括创建方法、内容显示与获取、操作技巧,以及它们在数值计算中的应用。适合初学者理解这两种高级数据结构的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

第1章 MATLAB R2018b环境
第2章 MATLAB 数值计算
第3章 MATLAB符号计算
第4章 MATLAB计算的可视化和GUI设计
第5章 MATLAB程序设计
第6章 线性控制系统分析与设计
第7章 Simulink仿真环境
第8章 MATLAB高级应用



第二章、MATLAB数值计算


前言

MATLAB的元胞数组(Cell Array)和结构数组(Structure Array)都能够在1个数组里存放各种不同类型的数据。


11、元胞数组和结构数组

11.1元胞数组

元胞数组中的基本组成是元胞,每一个元胞可以视做1个单元(Cell),用来存放各种不同类型的数据,如矩阵、多维数组、字符串、元胞数组及结构数组。同一元胞数组中各元胞中的内容可以不同。
元胞数组可以是一维、二维或多维,每一个元胞以下标区分,下标的编码方式也与矩阵相同,分为单下标方式和全下标方式。
1.元胞数组的创建
元胞数组的创建有3种方法。
(1)直接使用{ }创建。
在这里插入图片描述
(2)由各元胞创建。
在这里插入图片描述
(3)由各元胞内容创建。由各元胞内容创建的方法与第2种方法有些相似,容易混淆,使用时应注意()和的用法。在元胞数组中A(1,2)表示第1行第2列的元胞元素,而A{1,2}表示第1行第2列的元胞元素中存放的内容。
在这里插入图片描述
2.元胞数组的内容显示
在MATALB命令窗口中输入元胞数组的名称,并不直接显示元胞数组的各元素内容值,而是显示各元素的数据类型和维数。
在这里插入图片描述程序分析:表示元胞数组的元胞元素内容,A{2,2}{1}表示第2行第2列的元胞元素中存放元胞数组的第1个元胞元素的内容。

3.元胞数组的内容获取
在建立了元胞数组后,需要使用其中的元素进行各种 MATLAB运算,本书介绍过(可以对元胞数组元素内容进行寻访。
(1)取元胞数组的元素内容。
在这里插入图片描述取出A(1,2)元胞元素的内容及矩阵中的元素内容。

(2)取元胞数组的元素。
在这里插入图片描述

11.2结构数组

结构数组与元胞数组相比内容更丰富,应用更广泛。例如,一个图形对象属性包含了Name(标题)、Color(颜色)和 Position(位置)等不同数据类型的属性,每个图形对象都具有这些属性,但属性值不同,可以用结构数组存放图形对象属性。
结构数组的基本组成是结构(Structure),每一个结构都包含多个域(Fields),结构数组只有划分了域以后才能使用。例如,多个图形对象构成结构数组,1个图形对象就是1个结构,1个属性(Name、Color、Position)就是1个域。数据不能直接存放在结构中,只能存放在域中,域中可以存放任何类型、任何大小的数组。
结构数组可以划分为多维,每个结构以下标区分,下标的编码方式也分为单下标方式和全下标方式。
1.结构数组的创建
结构数组的创建有2种方法。
(1)直接创建。
在这里插入图片描述

程序分析: ps是结构数组,ps(1)和 ps(2)是结构,name、color 和 position是域。

(2)利用struct 函数创建。
在这里插入图片描述
2.结构数组数据的获取和设置
结构数组数据的获取和设置有以下方法。
(1)使用点号(.)获取。
在这里插入图片描述程序分析:x1是1个结构;x2是矩阵;x3是标量。

(2)使用getfield 获取结构数组的数据。
语法:
getfield(array,{array_index},field,{field_ index})
说明: array是结构数组名;array_index是结构的下标; field是域名;field _index是域中数组元素的下标。
在这里插入图片描述

(3)使用setfield设置结构数组的数据。
语法:
new structure=setfield(array,{array_index}, field,{field_index},V)说明:new structure是要修改的结构名;V为设置的值。
在这里插入图片描述

3.结构数组域的获取
结构数组域的获取有以下方法。
(1)使用fieldnames获取结构数组的所有域。
在这里插入图片描述

(2)获取结构数组域的数据。
①使用“[ ]”合并相同域的数据并排成水平向量。
在这里插入图片描述

②使用cat将其变成多维数组。
在这里插入图片描述


总结

本次学习内容:元胞数组与结构数组的介绍。
1、元胞数组的创建
2、元胞数组的内容显示
3、元胞数组的内容获取
4、结构数组的创建
5、结构数组数据的获取和设置
6、结构数组域的获取

文章内容来自MATLAB实用教程/郑阿奇主编,ISBN 978-7-121-29138-8。若有侵权行为,请联系我自行删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力努力再努力@李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值