Преобразование timeSeries в exel
11.06.2020
Добрый день коллеги.
С помощья simulink сгенерировал тестовые данные для функции в формате timeseries.
хотелось бы их записать в EXEL файл в формате TIME SIGNAL_NAME
Пробовал использовать функцию table для формирования таблички и функцию writetable для записи, но это удобно когда в сохраняемом тестовом векторе мало переменных.
А как быть с большим тестом где 20-30 элементов типа timeseires.
Может быть подскажет кто то.
Ответы
"удобно" - это не научный и не технический термин, поэтому пока что непонятно, какую проблему решаем :) Поясни плиз.
может это тогда сперва в матлабе собрать в один блок, а потом уже в эксель?
Ну например когда у меня в тестовом векторе 2 элемента и время я конвертировал в exel таким образом
elem1=ScopeData.getElement(1);
elem2=ScopeData.getElement(2);
data_table = table(elem1.Values.Time,elem1.Values.Data,elem2.Values.Data,'VariableNames',{'Time',elem1.Name,elem2.Name});
writetable(data_table,'rollToPi_text.xls');
А как автоматизировать процесс если уменя 20 'элементов.
Мда, Андрей, твои задачки как всегда заставляют задуматься :)
Пока не знаю, что делать с такими смешанными данными, как в мат-файле, но если сможешь записать все данные в структуру, как в data.command, и все они будут в одном времени, то вот так можно:
Ну доберусь до машины попробую_)
Добрый день! Хотелось бы узнать с помощью какого функционального блока и с какими его настройками вы записали данные в формат timeseries в структуру, как в data.command. Какая у вас версия matlab? У меня с помощью блока "to file" записывается 1 сигнал в формат double timeseries ( matlab 2016a), вместо logic timeseries, как у вас. Хотелось бы повторить и конвертировать в эксель 1e9 точек, тем более я моделирую электропривод как и вы, если я не ошибся.
UPD Это уже можно не читать )))
Просто в цикле можно. Для всех элементов сохраняете имя и сигнал, Для первого элемента дополнительно сохраняете время.