cell2struct

转换单元阵列结构阵列

句法

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的结构体:

  1. 转换5×3单元阵列沿其第一尺寸来构造3×1结构阵列5名的字段。每个沿着单元阵列的维度1行成为结构阵列中的字段:

    遍历第一(即,垂直)的尺寸,有5行与内容如下行标题:

    rowHeadings = { '发展', '销售', '管理',...... '质量', '文件'};
  2. 单元阵列转换成一个结构阵列,科指南,参照该尺寸:

    科指南= cell2struct(雇员,rowHeadings,1)科指南= 3X1结构阵列字段:开发销售管理质量文件
  3. 使用此行方向的结构,找到开发人员谁一直在公司工作了长达10年的名字:

    科指南(1:2)刘云杰龚传信刘铁林ANS = '李' '里德' '山' ANS = '迪安' '弗莱'

相同的单元阵列转换为沿着维度2的结构体:

  1. 转换5×3单元阵列沿其第二尺寸以构建5×1结构阵列3个字段。每个沿着单元阵列的维度2列成为结构阵列中的字段:

  2. 遍历沿第二(或水平)尺寸的单元阵列。列标题成为所得到的结构的字段:

    colHeadings = { 'fiveYears' 'tenYears' 'fifteenYears'};年= cell2struct(雇员,colHeadings,2)年= 5X1结构阵列字段:fiveYears tenYears fifteenYears
  3. 使用面向列的结构,显示有多少员工从销售和文档部门为公司工作了至少5年:

    [〜,sales_5years,〜,〜,docu_5years] = years.fiveYears sales_5years = '豪' '伯恩斯' docu_5years = '劳埃德' '青年'

转换单元阵列到一个结构中的一部分:

  1. 只转换单元阵列的第一个和最后一个行。这导致在一个3×1结构阵列2个字段:

    rowHeadings = { '发展', '文档'};科指南= cell2struct(雇员([1,5],:),rowHeadings,1)科指南= 3X1结构阵列字段:开发文档

  2. 显示谁属于这些部门的这三个时间周期的员工:

    对于k = 1:3科指南(K,:)端ANS =发展:{ '李' '里德' '山'}的文档:{ '劳埃德' '青年'} ANS =发展:{ '迪安' '弗莱'}文档:{'瑞恩'哈特 '罗伊'} ANS =发展:{'弄 '狐狸' '王'}文档:{ '沼泽'}

扩展功能

R2006a前推出