Можно использовать Scope, To File или блоки To Workspace, чтобы экспортировать данные моделирования. Каждый из этих блоков имеет параметр формата данных.
Формат данных для основанного на модели экспорта данных моделирования задает, как Simulink® хранит экспортированные данные.
Simulink использует различные форматы данных, в зависимости от вида данных, которые вы экспортируете. Для получения дополнительной информации см.:
Сигнал, регистрирующий всегда, использует Dataset
формат. Можно задать ли к данным логов для отдельных сигналов как timeseries
или timetable
объекты.
Управлять как Dataset
элементы сохранены, установите параметр конфигурации Dataset signal format. Значением по умолчанию является timeseries
. Для получения дополнительной информации смотрите формат сигнала Набора данных.
Параметр Dataset signal format применяется к логгированию сигнала, а также выходу и утверждает данные, когда вы устанавливаете параметр Format на Dataset
.
Когда вы, данные логов хранят данные, Simulink, используете Simulink.SimulationData.Dataset
объект.
Для получения дополнительной информации смотрите, что Хранилище данных Доступа Регистрирует Данные.
В течение экспортируемого времени состояния и выходные данные, используют один из следующих форматов:
Набор данных (значение по умолчанию)
Если вы устанавливаете флажок Configuration Parameters> Data Import/Export> Output, Simulink регистрирует данные фиксированной точки как дважды. Чтобы регистрировать данные фиксированной точки, рассмотрите использование одного из этих подходов:
Логгирование сигнала — для получения дополнительной информации, смотрите, что Данные сигнала Экспорта Используют Логгирование Сигнала.
В Редакторе Simulink выберите один или несколько сигналов.
Нажмите Log Signals.
Блок To File
Блок To Workspace — В диалоговом окне To Workspace Block Parameters, включите параметр Log fixed-point data as a fi object.
Для получения информации о формате для регистрируемых данных о конечном состоянии смотрите информацию состояния.
Настройкой по умолчанию для параметра Format является Dataset
. Dataset
формат:
Записанные данные хранилищ в timeseries
или timetable
объекты. Можно работать с данными, сохраненными в timeseries
или timetable
объект в MATLAB® без лицензии Simulink.
Поддержки, регистрирующие несколько значений данных для данного временного шага, который может требоваться для регистрации данных в For Iterator Subsystem, While Iterator Subsystem и Stateflow®.
Не поддерживает быструю симуляцию акселератора, регистрируя информацию о состояниях в подсистеме вызова функций или генерацию кода.
Сигнал, регистрирующий всегда, использует Dataset
формат. Логгирование состояний и выходных данных с помощью Dataset
формат позволяет вам постобрабатывать данные моделирования, не пишущий пользовательский код для различных типов записанных данных. Когда вы регистрируете состояния и выходные параметры с помощью Dataset
формат, данные также автоматически потоки Инспектору Данных моделирования в процессе моделирования.
Если вы выбираете этот Array
опция, Simulink сохраняет состояния и выходные параметры модели в состоянии и в выходном массиве, соответственно.
Матрице состояния задали имя в Configuration Parameters> панель Data Import/Export (например, xout
). Каждая строка матрицы состояния соответствует выборке времени состояний модели. Каждый столбец соответствует элементу состояния. Например, предположите, что ваша модель имеет два непрерывных состояния, каждое из которых является двухэлементным вектором. Затем первые два элемента каждой строки матрицы состояния содержат выборку времени первого вектора состояния. Последние два элемента каждой строки содержат выборку времени второго вектора состояния.
Выходной матрице модели задали имя в Configuration Parameters> панель Data Import/Export (например, yout
). Каждый столбец соответствует выходному порту модели и каждой строке к выходным параметрам в определенное время.
Примечание
Используйте формат массивов, чтобы сохранить ваши выходные параметры модели и состояния, только если записанные данные удовлетворяют всем этим условиям:
Данные являются всеми скалярами или всеми векторами (или всеми матрицами для состояний)
Данные все действительны или весь комплекс
Данные у всего есть совпадающий тип данных
Данные включают сигналы шины
Если ваши выходные параметры модели и состояния не удовлетворяют этим условиям, используйте Structure
или Structure with time
выходные форматы (см. Структуру со Временем).
Если вы выбираете этот формат, Simulink сохраняет состояния модели и выходные параметры в структурах, которым задали их имена в Configuration Parameters> панель Data Import/Export. По умолчанию структурами является xout
для состояний и yout
для выхода.
Структура, используемая, чтобы сохранить выходные параметры, имеет два поля верхнего уровня:
time
Содержит вектор из времен симуляции.
signals
Содержит массив подструктур, каждая из которых соответствует выходному порту модели.
Каждая подструктура имеет четыре поля:
values
Содержит выходные параметры для соответствующего выходного порта.
Если выходные параметры являются скалярами или векторами — values
поле является матрицей, каждая из чей строк представляют выход, в то время, когда задано соответствующим элементом временного вектора.
Если выходные параметры являются матричными (2-D) значениями — values
поле является трехмерным массивом размерностей M N T. M на n является размерностями выходного сигнала, и T является количеством выходных выборок.
Если T = 1 — MATLAB пропускает последнюю размерность. Поэтому values
поле является матрицей M на n.
dimensions
Задает размерности выходного сигнала.
label
Задает метку сигнала, соединенного с выходным портом, блоком S-Function или типом состояния (непрерывный или дискретный). Меткой является DSTATE
или CSTATE
, за исключением Блока s-function утверждают метки. Для меток состояния блока S-Function для дискретных состояний метка является именем состояния (вместо DSTATE
).
blockName
Задает имя соответствующего выходного порта или блока с состояниями.
inReferencedModel
Если signals
поле записывает конечное состояние блока, который находится в модели, на которую ссылаются, содержит значение 1
. В противном случае значение является ложным (0
).
Следующий пример показывает формат структуры-с-разовым для модели, на которую не ссылаются.
xout.signals(1)
ans = values: [296206x1 double] dimensions: 1 label: 'CSTATE' blockName: 'vdp/x1' inReferencedModel: 0
Структура, используемая, чтобы сохранить состояния, имеет подобную организацию. Структура состояний имеет два поля верхнего уровня:
time
time
поле содержит вектор из времен симуляции.
signals
Поле содержит массив подструктур, каждая из которых соответствует одному из состояний модели.
Каждый signals
структура имеет четыре поля: values
Размерности
Метка
, и blockName
. values
поле содержит выборки времени состояния блока, заданного blockName
поле . label
поле для встроенных блоков указывает на тип состояния: любой CSTATE
(непрерывное состояние) или DSTATE
(дискретное состояние). Для Блоков s-function метка содержит любое имя, присвоен состоянию блоком S-Function.
Выборки времени состояния хранятся в values
поле как матрица значений. Каждая строка соответствует выборке времени. Каждый элемент строки соответствует элементу состояния. Если состояние является матрицей, матрица хранится в values
массив в порядке развертывания по столбцам. Например, предположите, что модель включает матричное состояние 2 на 2 и что 51 выборка состояния регистрируется во время запущенной симуляции.
values
поле для этого состояния содержало бы 51 4 матрица. Каждая строка соответствует выборке времени состояния, и первые два элемента каждой строки соответствуют первому столбцу выборки. Последние два элемента соответствуют второму столбцу выборки.
Примечание
Simulink может считать назад данные моделирования, сохраненные в рабочее пространство MATLAB в Structure with time
'OutputFormat' . Смотрите Примеры Определения Сигнала и Данных Времени для получения дополнительной информации.
Этот формат эквивалентен для Structure with time
выходной формат, за исключением того, что Simulink не хранит времена симуляции в time
поле сохраненной структуры.
Simulink.SimulationData.Dataset
| Simulink.SimulationData.forEachTimeseries