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
со всеми данными о сигнале.