A matlab.io.datastore.sdidatastore ссылается на данные о сигнале в репозитории Данные Моделирования Inspector. Когда сигнал слишком велик, чтобы помещаться в память, можно использовать matlab.io.datastore.sdidatastore пошагово обрабатывать данные вручную или создавать длинное расписание для сигнала, который обрабатывает пошаговую обработку для вас. В этом примере показано, как обработать данные с помощью matlab.io.datastore.sdidatastore.
Создайте matlab.io.datastore.sdidatastore для сигнала
Симулируйте sldemo_fuelsys модель, которая сконфигурирована для регистрации нескольких сигналов, для создания данных в репозитории Данные Моделирования Inspector.
Используйте программный интерфейс Данные Моделирования Inspector, чтобы получить идентификатор сигнала.
Используйте идентификатор сигнала, чтобы создать matlab.io.datastore.sdidatastore для speed сигнал.
Проверьте содержимое Datastore
Проверьте Name свойство matlab.io.datastore.sdidatastore чтобы убедиться, что это соответствует вашим ожиданиям.
Можно также использовать preview метод для проверки того, что первые десять выборок в сигнале выглядят правильно.
ans=10×1 timetable
Time Data
______________ _______
0 sec 0.589
0.00056199 sec 0.58772
0.0033719 sec 0.58148
0.01 sec 0.56765
0.02 sec 0.54897
0.03 sec 0.53264
0.04 sec 0.51837
0.05 sec 0.50594
0.055328 sec 0.5
0.055328 sec 0.5
Обработка данных сигнала с помощью matlab.io.datastore.sdidatastore
Когда ваш сигнал слишком велик, чтобы помещаться в память, можно использовать readData метод для чтения фрагментов данных из репозитория Данные Моделирования Inspector, чтобы пошагово обрабатывать ваши данные. Используйте hasdata способ как условие цикла while для пошаговой обработки всего сигнала. Для примера найдите максимальное значение сигналов.
На каждой операции чтения read метод обновляет положение чтения для начала следующей операции чтения. После чтения некоторых или всех matlab.io.datastore.sdidatastoreможно сбросить положение считывания, чтобы начать снова с начала сигнала.
Обработка данных сигнала в памяти
Когда сигнал, на который ссылается ваше matlab.io.datastore.sdidatastore помещается в память, можно использовать readall метод, чтобы считать все данные сигнала в память для обработки, а не считывать и обрабатывать данные постепенно с помощью read способ. The readall метод возвращает timetable со всеми данными о сигнале.