转换单元阵列结构阵列
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行成为结构阵列中的字段:
遍历第一(即,垂直)的尺寸,有5行与内容如下行标题:
rowHeadings = { '发展', '销售', '管理',...... '质量', '文件'};
单元阵列转换成一个结构阵列,科指南
,参照该尺寸:
科指南= cell2struct(雇员,rowHeadings,1)科指南= 3X1结构阵列字段:开发销售管理质量文件
使用此行方向的结构,找到开发人员谁一直在公司工作了长达10年的名字:
科指南(1:2)刘云杰龚传信刘铁林ANS = '李' '里德' '山' ANS = '迪安' '弗莱'
相同的单元阵列转换为沿着维度2的结构体:
转换5×3单元阵列沿其第二尺寸以构建5×1结构阵列3个字段。每个沿着单元阵列的维度2列成为结构阵列中的字段:
遍历沿第二(或水平)尺寸的单元阵列。列标题成为所得到的结构的字段:
colHeadings = { 'fiveYears' 'tenYears' 'fifteenYears'};年= cell2struct(雇员,colHeadings,2)年= 5X1结构阵列字段:fiveYears tenYears fifteenYears
使用面向列的结构,显示有多少员工从销售和文档部门为公司工作了至少5年:
[〜,sales_5years,〜,〜,docu_5years] = years.fiveYears sales_5years = '豪' '伯恩斯' docu_5years = '劳埃德' '青年'
转换单元阵列到一个结构中的一部分:
只转换单元阵列的第一个和最后一个行。这导致在一个3×1结构阵列2个字段:
rowHeadings = { '发展', '文档'};科指南= cell2struct(雇员([1,5],:),rowHeadings,1)科指南= 3X1结构阵列字段:开发文档
显示谁属于这些部门的这三个时间周期的员工:
对于k = 1:3科指南(K,:)端ANS =发展:{ '李' '里德' '山'}的文档:{ '劳埃德' '青年'} ANS =发展:{ '迪安' '弗莱'}文档:{'瑞恩'哈特 '罗伊'} ANS =发展:{'弄 '狐狸' '王'}文档:{ '沼泽'}