Загружать данные сигнала с блоком From Workspace:
Создайте переменную рабочей области с данными сигнала, которые вы хотите загрузить.
Добавьте блок From Workspace к модели. Соедините блок From Workspace с блоком, которому блок From Workspace предоставляет входной параметр.
Дважды кликните блок From Workspace и сконфигурируйте:
Данные рабочей области, чтобы загрузить
Формат данных для блока From Workspace выводится
Как данные загружены, включая частоту дискретизации, как обрабатываются данные для пропавших без вести точек данных, и использовать ли обнаружение пересечения нулем
Предположим, что рабочая область содержит вектор - столбец времен под названием T
и вектор - столбец соответствующих значений сигналов под названием U
. При вводе выражения [T U]
для параметра Данных приводит к необходимому входному массиву. Если нужный массив или структура существуют в рабочей области, введите имя структуры или матрицы в параметре Данных.
Альтернатива использованию блока From Workspace для загрузки данных рабочей области должна загрузить данные к входному порту корневого уровня. Для получения дополнительной информации смотрите Входные порты Корневого Уровня.
Дважды кликните блок From Workspace, и в параметре Данных, задайте данные рабочей области, чтобы загрузить. Задайте выражение MATLAB® (например, имя переменной в MATLAB workspace), который оценивает к одному из следующего:
Объект
MATLAB
timeseries
Действительные сигналы типа, которым double
может быть в любом формате, который поддерживает блок From Workspace. Для комплексных сигналов и действительных сигналов типа данных кроме double
, используйте любой формат кроме Array
.
Структура MATLAB объекты timeseries
Для данных шины используйте структуру MATLAB объекты timeseries
. Совпадайте с иерархией шины и задайте объект timeseries
для каждого листового сигнала в шине. Настройте данные тот же путь, как вы делаете для загрузки сигналов шины к входному порту корневого уровня. Для получения дополнительной информации смотрите Данные Шины Загрузки к Входным портам Корневого Уровня.
Структура, с или без времени
Для получения дополнительной информации смотрите, Задают Данные Структуры для От Блока Рабочей области.
Двумерная матрица
Можно использовать матрицу, чтобы задать только одномерные сигналы. Первый элемент каждой матричной строки является меткой времени. Остальная часть каждой строки является скаляром или вектором значений сигналов.
Можно использовать структуру для одномерных или многомерных сигналов, с или без временных стоимостей. Для структуры используйте этот формат:
Поле signals.values
, которое содержит вектор - столбец значений сигналов.
Дополнительный массив signals.dimensions
, который содержит размерности сигнала.
Дополнительный вектор time
удваивается, который является вектором - столбцом меток времени.
n
th элемент time
является меткой времени n
th элемент signals.values
.
Форма структуры, которую вы используете, зависит от того, импортируете ли вы данные для:
Дискретные сигналы (сигнал задан в равномерно расположенных с интервалами значениях времени) — Использование структура, которая имеет пустой временной вектор.
Непрерывные сигналы (сигнал задан для всех значений времени) — подход, который вы используете, зависит от того, представляют ли данные плавную кривую или кривую, которая имеет разрывы (скачки) в ее области значений.
Для примеров см.:
И для дискретных и для непрерывных сигналов, задайте поле signals
, которое содержит массив подструктур, каждая из которых соответствует образцовому входному порту.
Каждая подструктура signals
должна содержать два поля: values
и dimensions
.
Поле values
должно содержать массив входных параметров для соответствующего входного порта. Если вы задаете временной вектор, каждый входной параметр должен соответствовать временной стоимости, заданной в поле time
.
Если входные параметры для порта являются скалярными или векторными значениями, поле values
должно быть массивом M-by-N
. Если вы задаете временной вектор, M
должен быть количеством моментов времени, заданных полем time
, и N
является продолжительностью каждого векторного значения.
Если входные параметры для порта являются матрицами (2D массивы), поле values
должно быть массивом M-by-N-by-T
. M
и N
являются размерностями каждого матричного входного параметра, и T
является количеством моментов времени. Предположим, что вы хотите ввести в 51 раз выборки 4 5 матричного сигнала в один из ваших образцовых входных портов. Затем соответствующее поле dimensions
структуры рабочей области должно равняться [4 5]
, и массив values
должен иметь размерности 4-by-5-by-51
.
Поле dimensions
задает размерности входного параметра. Если каждый входной параметр является скаляром или вектором (1D массив) значение, поле dimensions
должно быть скалярным значением, которое задает длину вектора (1 для скаляра). Если каждый входной параметр является матрицей (2D массив), поле dimensions
должно быть двухэлементным вектором, первый элемент которого задает количество строк в матрице и чей второй элемент задает количество столбцов.
Для непрерывных сигналов можно задать поле time
, которое содержит временной вектор. Как вы указываете, что временные стоимости зависят от вида данных сигнала, которые вы хотите.
Для получения информации об определении структур MATLAB смотрите, Создают Массив структур (MATLAB).
Данные сигнала | Рекомендация данных времени |
---|---|
Равномерно распределенные дискретные сигналы | Используйте выражение в этой форме: timeVector = timeStep * [startTime:numSteps-1]' Вектор транспонирован. Кроме того, потому что время начала является временным шагом, вы должны задать количество шагов, которые вы хотите минус 1. Например, чтобы задать 50 временных стоимостей на 0,2 временных шагах: T1 = 0.2 * [0:49]' ПримечаниеНе используйте выражение в этой форме: timeVector = [startTime:timeStep:endTime]' Например, не используйте: T2 = [0:0.2:10]' Эта форма временного вектора не эквивалентна форме, которая умножается временными шагами ( |
Неравномерно распределенные значения | Используйте любое допустимое выражение с массивами MATLAB; например, Из Рабочей области, Из Файла и блоков Signal Builder поддерживают обнаружение пересечения нулем. Если входной порт корневого уровня соединяется с одним из тех блоков, можно задать время пересечения нулем при помощи дублирующейся записи времени. |
Если вы загружаете структуру, которая не задает временной вектор:
Установите Частоту дискретизации (-1 для наследованного) к значению кроме (непрерывного) 0
.
Ясный Интерполируют данные.
Установите Form вывод после итогового значения данных к значению кроме Extrapolation
.
Можно использовать блок From Workspace, чтобы загрузить данные, экспортированные блоком To Workspace в предыдущем моделировании для использования в более позднем моделировании. Сохраните данные блока To Workspace или в Timeseries
или в формате Structure with Time
. Загрузка данных, который экспортировался в файл использованием блока To File MATLAB timeseries
, не требует, чтобы вы изменили данные.
Если вы устанавливаете блок To File, Сохраняют параметр формата в Array
, транспонируют экспортируемые данные массива. Данные, сохраненные блоком To File, содержат столбцы с последовательными метками времени, сопровождаемыми соответствующими данными. Транспонированные данные содержат строки с последовательными метками времени, сопровождаемыми соответствующими данными. Чтобы обеспечить требуемый формат, используйте MATLAB
и load
команды
с MAT-файлом. Чтобы постараться не транспонировать данные снова, повторно сохраните транспонированные данные.transpose
Чтобы использовать данные рабочей области, который находится в формате Simulink.SimulationData.Dataset
, извлеките объект MATLAB timeseries
от набора данных. Например, если вы используете журналирование сигнала с форматом Dataset
и используете выходную переменную по умолчанию logsout
, поскольку единственный регистрируемый сигнал входит:
logsout.get(1).values
Можно использовать блок To Workspace (с Structure
или форматом Structure With Time
) или корневой блок Outport, чтобы регистрировать сигналы переменного размера. Затем используйте Для переменной Рабочей области с блоком From Workspace.
Также создайте структуру MATLAB, которая содержит данные сигнала переменного размера. Для каждого поля values
в структуре включайте поле valueDimensions
, которое задает размерности во время выполнения для сигнала. Для получения дополнительной информации см., что Модели Simulink Используют Сигналы Переменного Размера.
Когда вы используете блок From Workspace в модели, которая соединяется со словарем данных, необходимо выбрать местоположение, чтобы хранить данные, к которым относится блок. Установите значение параметра Данных на основе рабочей области или словаря, который содержит целевые данные, чтобы загрузить. Для получения дополнительной информации смотрите, что Данные Загрузки Используют От Блока Рабочей области.
Параметр Частоты дискретизации блока From Workspace задает частоту дискретизации, чтобы загрузить данные из рабочей области. Метки времени в данных рабочей области должны монотонно не уменьшаться. Для получения дополнительной информации см. Настройку времени выборки.
Чтобы использовать линейную лагранжевую интерполяцию, чтобы вычислить значения данных для хитов времени, которые происходят между хитами времени, для которых рабочая область снабжает данными, выберите данные Interpolate.
Для сигналов переменного размера, ясных, Интерполируют данные.
Чтобы определить блок вывод после прошлого раза, хит, для которых данных рабочей области доступно, комбинирует настройки этих параметров:
Интерполируйте данные
Форма вывод после итогового значения данных
В документации блока From Workspace смотрите Form вывод после итогового значения данных параметром.
По умолчанию блок From Workspace не включает обнаружение пересечения нулем. Обнаружение пересечения нулем определяет местоположение разрывов, не обращаясь к чрезмерно маленьким временным шагам.
Разрешать параметр обнаружения пересечения нулем применяется, только если частота дискретизации непрерывна (0
).
Если вы выбираете параметр обнаружения пересечения нулем Enable, и если входной массив содержит многократные въезды для того же хита времени, Simulink обнаруживает нуль, пересекающий в то время хит.
Для сигналов шины Simulink обнаруживает нулевые пересечения через все листовые элементы шины.