Преобразование структуры в массив - PullRequest
1 голос
/ 18 февраля 2012

Вот упрощенная версия рассмотрим структуру данных ниже в Matlab:

 struct(1).left=1;struct(2).left=2;struct(3).left=3;

Теперь я хотел бы скопировать это в массив целых чисел

K>> arrayL(1:3)=struct.left

arrayL =

 1     1     1

почему он только копирует первые элементы struct.left в arrayL? Как я могу скопировать всю структуру (1: 3) в arrayL, чтобы он содержал 1,2,3? Спасибо

Ответы [ 2 ]

5 голосов
/ 18 февраля 2012

В данный момент у меня нет удобного matlab, но попробуйте arrayL = [struct.left]; (потому что struct.left само по себе возвращает 3 отдельных ответа, по одному для каждого элемента в struct).

0 голосов
/ 27 октября 2014

Вы можете попробовать использовать функцию cell2mat http://www.mathworks.com/help/matlab/ref/cell2mat.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...