转换单元格数组为结构数组
structArray
= cell2struct (Cellarray.
,字段
,昏暗的
)
创建一个结构数组,structArray
= cell2struct (Cellarray.
,字段
,昏暗的
)structArray
,来自单元格列中包含的信息Cellarray.
.
的字段
参数指定结构阵列的字段名称。此参数是字符数组,字符向量的小区数组或字符串数组。
的昏暗的
论证告诉matlab.®单元格数组的哪个轴用于创建结构数组。使用一个数字双
指定昏暗的
.
派生的字段创建结构数组N
单元格数组的行,请指定N
字段名称字段
参数,数字1在昏暗的
争论。派生的字段创建结构数组米
单元格数组的列,请指定米
字段名称字段
论证和第2号昏暗的
争论。
的structArray
输出是一个结构阵列N
字段,N
等于?中的字段数字段
输入参数。生成的结构中的字段的数量必须等于沿尺寸的单元格数昏暗的
你想要改变的。
创建下面的表,以便与本节中的示例一起使用。该表列出了一家小型工程公司雇员的信息。按行读取该表将显示按部门的员工名称。按列读取该表可以显示每个员工在公司工作的年数。
5年 | 10年 | 15年 | |
---|---|---|---|
发展 | 李,芦苇,山 | 迪安,弗莱 | 车道,福克斯,王 |
销售 | 豪,伯恩斯 | 柯比,福特 | 大厅 |
管理 | 价格 | 克拉克,切片 | 西姆斯 |
质量 | 贝茨,灰色 | 纳什 | 凯,追逐 |
文档 | 劳埃德,年轻 | 莱恩哈特,罗伊 | 沼泽 |
输入以下命令来创建初始单元格阵列员工
:
猛击={{“李”,“芦苇”,“山”},{‘院长’,‘Frye},…{‘道’,‘狐狸’,‘国王’}};销售={{“豪”、“烧伤”},{“科比”,“福特”},{“大厅”}};mgmt = {{'Price'}, {'Clark','Shea'}, {'Sims'}};质量={{“贝茨”,“灰色”},{“纳什”},{“凯”、“追逐”}};docu ={{‘Lloyd’,‘年轻’},{“瑞恩”,“哈特”,“罗伊”},{“沼泽”}};员工=[重击;销售;管理;定性; docu] employees = {1x3 cell} {1x2 cell} {1x3 cell} {1x2 cell} {1x2 cell} {1x1 cell} {1x1 cell} {1x2 cell} {1x1 cell} {1x2 cell} {1x1 cell} {1x2 cell} {1x2 cell} {1x3 cell} {1x1 cell}
这是生成的单元格数组:
将单元格数组转换为沿尺寸1的结构:
沿其第一维转换5×3个单元阵列,以构造具有5个字段的3×1结构阵列。单元格阵列的尺寸1的每个行变为结构阵列中的字段:
穿过第一个(即,垂直)维度,有5行,行标题读取如下:
rowHeadings = {'development', 'sales', 'management',…“质量”、“文档'};
将单元格数组转换为结构数组,部门
,就该维度而言:
depts = 3x1 struct数组与字段:开发销售管理质量文档
使用这个面向行结构来查找在公司工作了10年以上的开发人员的姓名:
部门(1:2)。发展ANS ='Lee''Reed''山'Ans ='Dean'Frye'
将相同的单元格数组转换为沿尺寸2的结构:
将5 × 3单元格数组沿其第2维转换为具有3个字段的5 × 1结构数组。单元格数组中沿维数2的每一列都成为struct数组中的一个字段:
沿着第二个(或水平)维度遍历单元格数组。列标题成为结果结构的字段:
colheadings = {'fulyear''tenyear''fifteenyears'};几年= Cell2struct(员工,Colheadings,2)年= 5x1结构阵列与字段:五年级TenyearsFifteenyears
使用面向列的结构,显示有多少来自销售和文档部门的员工在该公司工作了至少5年:
[〜,sales_5years,〜,〜,docu_5years] =几年.Fiveyears sales_5years ='howe''urges'docu_5years ='lloyd''年轻'
只将单元格数组的一部分转换为结构体:
只转换单元格数组的第一行和最后一行。这将产生一个带有2个字段的3-by-1结构数组:
rowHeadings = {'development', 'documentation'};depts = 3x1 struct array with fields: development document . depts = 3x1 struct array with fields: development document . depts = 3x1 struct array with fields: development document . depts = 3x1 struct array with fields: development document . depts = 3x1 struct array with fields: development document . depts = 3x1 struct array with fields:开发文档
显示那些属于这些部门所有三个时间的员工:
对于k=1:3 depts(k,:) end ans = development: {'Lee' 'Reed' 'Hill'}文档:{'Lloyd' 'Young'} ans = development: {'Dean' 'Frye'}文档:{'Ryan' 'Hart' 'Roy'} ans = development: {'Lane' 'Fox' 'King'}文档:{'Marsh'}