在MATLAB中将结构移动到单元阵列中

时间:2012-02-23 06:09:45

标签: matlab

如何编写单元格(1,1)是18 x 1矩阵的单元格数组,其中每个元素都是具有FirstName,LastName,Program和Section属性的结构?这是我有18个条目的结构:

studentStruct()

ans =

包含字段的18x1结构数组:

FirstName
LastName
Program
Section
Midterm
Final
Quiz1
Quiz2
Quiz3
Quiz4
Quiz5

如果我选择访问studentStruct(1,1),这就是我得到的:

ans =

FirstName: 'Tom'
 LastName: 'Jones'
  Program: 'Evening MBA'
  Section: 81
  Midterm: 63
    Final: 59
    Quiz1: 69
    Quiz2: 85
    Quiz3: 90
    Quiz4: 100
    Quiz5: 56

2 个答案:

答案 0 :(得分:1)

您可以使用STRUCT2CELL功能:

studentCell = struct2cell(studentStruct)';

在单独的单元格中有前4个结构字段:

studentCell = mat2cell(studentCell(:,1:4), numel(y), ones(1,4))

您可以在单元格数组中转换为数字矩阵的数字字段(如Section):

studentCell{4} = cell2mat(studentCell{4});

答案 1 :(得分:1)

如果我理解你的问题,我认为你可以使用:

cellval = {studentStruct()};