cell2struct
转换单元阵列结构数组
语法
structArray
= cell2struct (cellArray
,字段
,昏暗的
)
描述
创建一个结构数组,structArray
= cell2struct (cellArray
,字段
,昏暗的
)structArray
从信息包含在单元阵列cellArray
。
的字段
结构数组参数指定字段名称。这个参数是一个字符数组,单元阵列特征向量,或一个字符串数组。
的昏暗的
论点告诉MATLAB®轴的使用数组来创建数组结构。使用一个数字双
指定昏暗的
。
创建一个结构数组字段来自N
行一个细胞数组,指定N
的字段名字段
参数,和1号昏暗的
论点。创建一个结构数组字段来自米
列的数组,指定米
的字段名字段
参数和数量2昏暗的
论点。
的structArray
输出是一个结构数组N
字段,N
等于字段的数量字段
输入参数。字段的数量产生的结构必须等于细胞的数量以及尺寸昏暗的
你想把。
例子
创建以下表为本节中的示例使用。下表列出了一个小的工程公司的员工信息。读表的行显示了部门员工的名字。读表的列显示了数量的年每个员工在该公司工作。
5年 | 10年 | 15年 | |
---|---|---|---|
发展 | 李、苇、山 | 迪安,弗莱 | 车道,福克斯,王 |
销售 | 豪,伯恩斯 | 科比,福特 | 大厅 |
管理 | 价格 | 克拉克,谢伊 | 西姆斯 |
质量 | 贝茨,灰色 | 纳什 | 凯,追逐 |
文档 | 劳埃德,年轻 | 莱恩哈特,罗伊 | 沼泽 |
输入以下命令创建初始单元阵列员工
:
猛击={{“李”,“芦苇”,“山”},{‘院长’,‘Frye},…{‘道’,‘狐狸’,‘国王’}};销售={{“豪”、“烧伤”},{“科比”,“福特”},{“大厅”}};管理={{‘价格’},{“克拉克”、“谢伊”},{“模拟人生”}};质量={{“贝茨”,“灰色”},{“纳什”},{“凯”、“追逐”}};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}
这是生成的单元阵列:
细胞数组转换为一个struct沿着维度1:
把5-by-3单元阵列在其第一个维度构建一个3×1与5个领域的结构体数组。每一行的维度1单元阵列结构体数组变成一个字段:
遍历第一(即。,vertical) dimension, there are 5 rows with row headings that read as follows:
rowHeadings ={“发展”、“销售”、“管理”,…“质量”、“文档'};
细胞数组转换成一个结构体数组,
部门
参考这个尺寸:部门= cell2struct(员工、rowHeadings 1)部门= 3 x1结构体数组字段:开发销售管理质量文档
使用这个row-oriented结构发现开发人员的名字一直与该公司10年:
部门(1:2】。ans =‘李’“芦苇”“山”ans =‘院长’‘Frye’
同一单元阵列转换为一个struct沿着维度2:
转换5-by-3沿着第二维度构建5-by-1单元阵列结构体数组与3字段。沿着维度的每个列的第2单元阵列结构体数组变成一个字段:
沿着第二遍历单元阵列(或水平)维度。列标题成为领域的结构:
colHeadings ={'五' ' 10年' ' fifteenYears};年= cell2struct(员工、colHeadings 2)年= 5 x1结构体数组字段:fifteenYears五10年时间里
使用用于结构,显示有多少销售和文档部门的员工为公司工作了至少5年:
[sales_5years ~, ~, ~, docu_5years] =年。五sales_5years =“豪”“烧伤”docu_5years =“劳埃德”“年轻”
只有单元阵列的一部分转换为一个结构体:
转化细胞的只有第一个和最后一个行数组。这个结果在一个3×1结构体数组2字段:
rowHeadings ={‘发展’,‘文档’};部门= cell2struct(员工([1,5],:),rowHeadings, 1)部门= 3 x1结构体数组字段:开发文档
显示所有这些员工属于部门三个时间:
:k = 1:3部门(k)结束ans =发展:{“李”“芦苇”“山”}文档:{“劳埃德”“年轻”}ans =发展:{“院长”“Frye”}文档:{“瑞恩”“哈特”“罗伊”}ans =发展:{“车道”“福克斯”“王”}文档:{“沼泽”}