Я пытаюсь использовать несколько полей в структуре для изменения данных из данных в datetime. Структуру создавали:Доступ к нескольким полям в структуре matlab
DATA=struct('Id',[],'Date',[],'Value',[]);
и из-за стиля приема данных существует несколько DATA, каждый из которых имеет одно значение. Таким образом, пример был бы достаточными полномочиями
Data(1).Date=2;
Data(2).Date=3;
Теперь я хотел бы изменить запись в DateTime, но оставляя структуру данных, как это. В этом примере дается квадрат даты.
Data(1).Date=4;
Data(2).Date=9;
структура имеет около 50000 enries и arrayfun()
не дает достаточно эффективное решение. Я не могу найти способ конвертировать весь массив объявлений Data.Date один раз deal()
написать все 50000 дат в каждом поле и любым другим способом получить ошибки. Есть ли у кого-нибудь решение изменить весь массив и записать его в каждом поле массива?
Спасибо, ну это просто набухает. Я проверил производительность обоих данных решений против моего старого подхода arrayfun. для тех, кто заинтересован в выполнении даты и времени на 50000 записей: arrayfun - 23sec for loop - 3.3sec num2cell - 3.3sec Оба решения имеют одинаковую производительность, но я буду придерживаться num2cell, так как, как уже упоминалось, i хотел бы избежать циклов в коде. Еще раз спасибо вам – Finn