转换单元阵列结构阵列
structArray
= cell2struct(cellArray
,领域
,暗淡
)
创建一个结构阵列,structArray
= cell2struct(cellArray
,领域
,暗淡
)structArray
,从单元格数组中包含的信息cellArray
。
该领域
参数指定结构数组的字段名称。此参数是字符数组、字符向量的单元数组或字符串数组。
该暗淡
论点告诉MATLAB®哪个轴单元阵列的在创建结构阵列使用。使用数字双
指定暗淡
。
创建具有衍生自字段的结构阵列ñ
一个单元阵列的行,指定ñ
的字段名称领域
参数,并在数字1暗淡
论点。创建具有衍生自字段的结构阵列中号
一个单元阵列的列中,指定中号
的字段名称领域
参数中的数字2暗淡
论点。
该structArray
输出是一个结构数组ñ
领域,其中ñ
等于在字段的数目领域
输入参数。结果结构中的字段数必须等于维度上的单元格数暗淡
要转换。
对于在本节示例使用创建下表。大约一个小工程公司的职员表列出的信息。按行读表显示员工按部门名称。按列读表显示的年每个员工已经在该公司工作的数量。
5年 | 10年 | 15年 | |
---|---|---|---|
发展 | 李、苇、山 | 院长,弗莱 | 巷,福克斯,景 |
销售 | 豪,伯恩斯 | 科比,福特 | 大厅 |
管理 | 价格 | 克拉克,谢伊 | 模拟人生 |
质量 | 贝茨,灰色 | 纳什 | 凯,追逐 |
文档 | 劳埃德,年轻 | 瑞安,哈特,罗伊 | 沼泽 |
输入以下命令来创建初始单元阵列雇员
:
devel的= {{ '利', '励', '山'},{ '院长', '弗莱'},... { '弄', '狐狸', '王'}};销售= {{ '豪', '伯恩斯'},{ '卡比', '福特'},{ '霍尔'}};MGMT = {{ '价格'},{ '克拉克', '牛油树'},{“Sims的}};QUAL = {{ '贝茨', '灰色'},{ '纳什'},{ '凯', '大通'}};实况= {{ '劳埃德', '青年'},{ '瑞恩', '哈特', '罗伊'},{ '沼泽'}};员工= [devel的;销售;MGMT;资格赛;实况]员工= {1×3细胞} {1×2细胞} {1×3细胞} {1×2细胞} {1×2细胞} {1x1的细胞} {1x1的细胞} {1×2细胞} {1x1的细胞} {1×2细胞} {1x1的细胞} {1×2 cell} {1x2 cell} {1x3 cell} {1x1 cell}
这是所得到的单元阵列:
将单元格数组转换为沿着维度1的结构:
沿着第一个维度转换5×3的单元格数组,以构造一个3×1的、有5个字段的结构数组。单元格数组中维度1的每一行都成为结构数组中的一个字段:
遍历第一个(即,vertical) dimension, there are 5 rows with row headings that read as follows:
rowHeadings = { '发展', '销售', '管理',...... '质量', '文件'};
单元阵列转换成一个结构阵列,部门
,参照该尺寸:
科指南= cell2struct(雇员,rowHeadings,1)科指南= 3X1结构阵列字段:开发销售管理质量文件
使用此行方向的结构,找到开发人员谁一直在公司工作了长达10年的名字:
(1:2).development ans = 'Lee' ' 'Reed' 'Hill' ans = 'Dean' 'Frye'
将相同的单元数组转换为沿着维度2的结构:
转换5×3单元阵列沿其第二尺寸以构建5×1结构阵列3个字段。每个沿着单元阵列的维度2列成为结构阵列中的字段:
遍历沿第二(或水平)尺寸的单元阵列。列标题成为所得到的结构的字段:
{'fiveYears' 'tenYears' 'fifteenYears'};年= cell2struct(雇员,合并标题,2)年= 5x1结构数组字段:5年10年15年
使用面向列的结构,显示有多少员工从销售和文档部门为公司工作了至少5年:
5 .年的英文:5年= 'Howe' ' 'Burns' docu_5years = 'Lloyd' 'Young'
转换单元阵列到一个结构中的一部分:
只转换单元阵列的第一个和最后一个行。这导致在一个3×1结构阵列2个字段:
rowHeadings = { '发展', '文档'};科指南= cell2struct(雇员([1,5],:),rowHeadings,1)科指南= 3X1结构阵列字段:开发文档
显示在这三个时间段内属于这些部门的员工:
对于k = 1:3科指南(K,:)端ANS =发展:{ '李' '里德' '山'}的文档:{ '劳埃德' '青年'} ANS =发展:{ '迪安' '弗莱'}文档:{'瑞恩'哈特 '罗伊'} ANS =发展:{'弄 '狐狸' '王'}文档:{ '沼泽'}