Как выполнить массовое / матричное присваивание массиву Strucutre в Matlab? - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть массив struct, в котором есть поле с большим количеством временных меток POSIX:

>> res.machineData

ans = 

  13×1 struct array with fields:

    ...
    fromDate
    ...

Теперь я хочу преобразовать их в datetime. Хотя я знаю, как создать матрицу из datetime s

>> datetime([res.machineData.fromDate]/1000,'ConvertFrom','posixtime')

ans = 

  1×13 datetime array

Columns 1 through ...

Я не могу найти способ вернуть его обратно в структуру:

>> res.machineData.fromDate = datetime([res.machineData.fromDate]/1000,'ConvertFrom','posixtime');
Scalar structure required for this assignment.

Другие сообщения об ошибках в других синтаксисах, которые я пробовал.

Как выполнить?

UPDATE

Я написал так с помощью переменной temp:

fromDate = num2cell(datetime([res.machineData.fromDate]/1000,'ConvertFrom','posixtime'));
[res.machineData.fromDate] = fromDate{:};

Это нормально? Можем ли мы написать короче?

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