В этом примере показано, как создать длинное расписание для сигнала в репозитории Данные Моделирования Inspector. Вы можете создать длинное расписание с помощью Simulink.sdi.Signal объект или путем первого создания matlab.io.datastore.sdidatastore для сигнала. Можно использовать matlab.io.datastore.sdidatastore пошагово считывать и обрабатывать данные сигнала для сигналов, которые не помещаются в память. A длинного расписания обрабатывает порцию и обработку данных в фоновом режиме. В целом можно работать с длинные расписания очень аналогично тому, как вы работаете с данными в памяти.
Создайте идентификатор сигнала данных и доступа
Создаете ли вы своё длинное расписание с помощью Simulink.sdi.Signal объект или matlab.io.datastore.sdidatastore, начать путем создания данных и доступа к идентификатору сигнала для интересующего сигнала. The sldemo_fuelsys модель сконфигурирована, чтобы записывать сигналы, которые потокуют в репозиторий Данные Моделирования Inspector, когда вы симулируете модель.
Затем используйте программный интерфейс Данные Моделирования Inspector для доступа к идентификатору сигнала для интересующего сигнала. Для примера получите доступ к ego сигнал.
Создайте Длинное Расписание с использованием matlab.io.datastore.sdidatastore
В целом, длинные расписания поддерживаются хранилищами данных. Создайте matlab.io.datastore.sdidatastore объект для ссылки на данные сигнала в репозитории Данные Моделирования Inspector.
Проверьте имя datastore, чтобы убедиться, что у вас есть сигнал, который вы ожидаете.
Составьте длинное расписание из matlab.io.datastore.sdidatastore для использования для обработки данных сигнала. Когда у вас есть лицензия Parallel Computing Toolbox™, необходимо явным образом задать окружение выполнения для локального сеанса MATLAB ® с помощью mapreducer перед созданием длинное расписание. The matlab.io.datastore.sdidatastore объект не поддерживает параллельные расчеты.
egoTt =
Mx1 tall timetable
Time Data
______________ ______
0 sec 1.209
0.00056199 sec 1.209
0.0033719 sec 1.209
0.01 sec 1.1729
0.02 sec 1.1409
0.03 sec 1.1124
0.04 sec 1.0873
0.05 sec 1.0652
: :
: :
Создайте Длинное Расписание с использованием Simulink.sdi.Signal Объект
The Simulink.sdi.Signal Класс имеет метод создания длинного расписания непосредственно, позволяющий пропустить шаг создания datastore путем создания его за кадром. Используйте идентификатор сигнала для доступа к Simulink.sdi.Signal объект для ego сигнал. Затем используйте getTable метод для создания длинное расписание.
egoTt =
Mx1 tall timetable
Time Data
______________ ______
0 sec 1.209
0.00056199 sec 1.209
0.0033719 sec 1.209
0.01 sec 1.1729
0.02 sec 1.1409
0.03 sec 1.1124
0.04 sec 1.0873
0.05 sec 1.0652
: :
: :
Используйте Длинное Расписание, чтобы обработать данные о сигнале
Когда вы используете длинное расписание egoTt, его базовый datastore считывает фрагменты данных и передает их в длинное расписание для обработки. Ни datastore, ни длинное расписание не сохраняют никаких данных в памяти после обработки. Кроме того, длинное расписание откладывает обработку для многих операций. Для примера вычислите среднее значение сигнала.
Можно использовать gather функция для вычисления переменной и записи ее значения в рабочую область, или можно использовать write функция для записи результатов на диск. Когда вы используете gather, убедитесь, что результаты помещаются в память.
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 9.8 sec
Evaluation completed in 10 sec
При выполнении нескольких операций в длинное расписание оценка результатов для каждого шага откладывается до тех пор, пока вы явно не запросите результаты с write или gather. Во время оценки MATLAB оптимизирует количество проходов, которые он делает через длинное расписание, что может значительно ускорить время вычислений для анализа очень больших сигналов. Для получения дополнительной информации о работе с длинными массивами см. Длинные массивы для Данной , которой не помещаютси в память,.