Загрузите данные Используя от блока рабочей области

Загружать данные сигнала с блоком From Workspace:

  1. Создайте переменную рабочей области с данными сигнала, которые вы хотите загрузить.

  2. Добавьте блок From Workspace к модели. Соедините блок From Workspace с блоком, которому блок From Workspace предоставляет входной параметр.

  3. Дважды кликните блок 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]' 

Эта форма временного вектора не эквивалентна форме, которая умножается временными шагами (T1) из-за с двойной точностью округления используемого компьютерами. Simulink® ожидает точные значения без с двойной точностью округления. Используя T2 форма может привести к неожиданным результатам симуляции.

Неравномерно распределенные значения

Используйте любое допустимое выражение с массивами MATLAB; например, [1:5 5:10] или (1 6 10 15).

Из Рабочей области, Из Файла и блоков Signal Builder поддерживают обнаружение пересечения нулем. Если входной порт корневого уровня соединяется с одним из тех блоков, можно задать время пересечения нулем при помощи дублирующейся записи времени.

Если вы загружаете структуру, которая не задает временной вектор:

  1. Установите Частоту дискретизации (-1 для наследованного) к значению кроме (непрерывного) 0.

  2. Ясный Интерполируют данные.

  3. Установите Form вывод после итогового значения данных к значению кроме Extrapolation.

Используйте данные от до блока файла

Можно использовать блок From Workspace, чтобы загрузить данные, экспортированные блоком To Workspace в предыдущем моделировании для использования в более позднем моделировании. Сохраните данные блока To Workspace или в Timeseries или в формате Structure with Time. Загрузка данных, который экспортировался в файл использованием блока To File MATLAB timeseries, не требует, чтобы вы изменили данные.

Если вы устанавливаете блок To File, Сохраняют параметр формата в Array, транспонируют экспортируемые данные массива. Данные, сохраненные блоком To File, содержат столбцы с последовательными метками времени, сопровождаемыми соответствующими данными. Транспонированные данные содержат строки с последовательными метками времени, сопровождаемыми соответствующими данными. Чтобы обеспечить требуемый формат, используйте MATLAB load и команды transpose с MAT-файлом. Чтобы постараться не транспонировать данные снова, повторно сохраните транспонированные данные.

Загрузите данные набора данных

Чтобы использовать данные рабочей области, который находится в формате Simulink.SimulationData.Dataset, извлеките объект MATLAB timeseries от набора данных. Например, если вы используете журналирование сигнала с форматом Dataset и используете выходную переменную по умолчанию logsout, поскольку единственный регистрируемый сигнал входит:

logsout.get(1).values

Определение сигналов Переменного Размера

Можно использовать блок To WorkspaceStructure или форматом Structure With Time) или корневой блок Outport, чтобы регистрировать сигналы переменного размера. Затем используйте Для переменной Рабочей области с блоком From Workspace.

Также создайте структуру MATLAB, которая содержит данные сигнала переменного размера. Для каждого поля values в структуре включайте поле valueDimensions, которое задает размерности во время выполнения для сигнала. Для получения дополнительной информации см., что Модели Simulink Используют Сигналы Переменного Размера.

Храните данные для модели, соединенной со словарем данных

Когда вы используете блок From Workspace в модели, которая соединяется со словарем данных, необходимо выбрать местоположение, чтобы хранить данные, к которым относится блок. Установите значение параметра Данных на основе рабочей области или словаря, который содержит целевые данные, чтобы загрузить. Для получения дополнительной информации смотрите, что Данные Загрузки Используют От Блока Рабочей области.

'SampleTime'

Параметр Частоты дискретизации блока From Workspace задает частоту дискретизации, чтобы загрузить данные из рабочей области. Метки времени в данных рабочей области должны монотонно не уменьшаться. Для получения дополнительной информации см. Настройку времени выборки.

Интерполируйте недостающие значения данных

Чтобы использовать линейную лагранжевую интерполяцию, чтобы вычислить значения данных для хитов времени, которые происходят между хитами времени, для которых рабочая область снабжает данными, выберите данные Interpolate.

Для сигналов переменного размера, ясных, Интерполируют данные.

Задайте Вывод после итоговых данных

Чтобы определить блок вывод после прошлого раза, хит, для которых данных рабочей области доступно, комбинирует настройки этих параметров:

  • Интерполируйте данные

  • Форма вывод после итогового значения данных

В документации блока From Workspace смотрите Form вывод после итогового значения данных параметром.

Обнаружьте нулевые пересечения

По умолчанию блок From Workspace не включает обнаружение пересечения нулем. Обнаружение пересечения нулем определяет местоположение разрывов, не обращаясь к чрезмерно маленьким временным шагам.

Разрешать параметр обнаружения пересечения нулем применяется, только если частота дискретизации непрерывна (0).

Если вы выбираете параметр обнаружения пересечения нулем Enable, и если входной массив содержит многократные въезды для того же хита времени, Simulink обнаруживает нуль, пересекающий в то время хит.

Для сигналов шины Simulink обнаруживает нулевые пересечения через все листовые элементы шины.

Смотрите также

Блоки

Похожие темы

Была ли эта тема полезной?