Перемещение структур в массив ячеек в MATLAB - PullRequest
0 голосов
/ 23 февраля 2012

Как мне написать массив ячеек, где ячейка (1,1) - это матрица 18 на 1, где каждый элемент является структурой со свойствами FirstName, LastName, Program и Section?Вот моя структура с 18 записями:

studentStruct ()

ans =

18x1 struct массив с полями:

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 ]

1 голос
/ 23 февраля 2012

Если я правильно понимаю ваш вопрос, думаю, вы могли бы использовать:

cellval = {studentStruct()};
1 голос
/ 23 февраля 2012

Вы можете использовать функцию STRUCT2CELL :

studentCell = struct2cell(studentStruct)';

Чтобы иметь первые 4 поля структуры в отдельных ячейках:

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

Числовое поле (например, Раздел)Вы можете преобразовать в числовую матрицу в массиве ячеек:

studentCell{4} = cell2mat(studentCell{4});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...