В этом примере показано, как создать длинное расписание для сигнала в репозитории Данные Моделирования 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 оптимизирует количество проходов, которые он делает через длинное расписание, что может значительно ускорить время вычислений для анализа очень больших сигналов. Для получения дополнительной информации о работе с длинными массивами см. Длинные массивы для Данной , которой не помещаютси в память,.