Idmodel

Моделируйте идентифицированную линейную модель в программном обеспечении Simulink

  • Библиотека:
  • System Identification Toolbox / модели

Описание

Блок Idmodel моделирует вывод идентифицированной линейной модели с помощью входных данных временного интервала. Модель является пространством состояний (idss), линейное серое поле (idgrey), полином (idpoly), передаточная функция (idtf) или модель (idproc) процесса, которую вы ранее оценили или создали. Для симуляции пространства состояний и линейных моделей серого поля, можно задать значения начального состояния. Для других линейных моделей обнуляются начальные условия. Можно также добавить шум в моделируемый вывод.

Порты

Входной параметр

развернуть все

Входные данные симуляции, заданные как скаляр для модели одно входа. Данные должны быть данными временного интервала. Для мультивходных моделей задайте вход как Nu - вектор элемента, где Nu является количеством входных параметров. Например, можно использовать блок Vector Concatenate, чтобы конкатенировать скалярные сигналы в векторный сигнал.

Примечание

Не используйте блок Bus Creator или Mux, чтобы произвести векторный сигнал.

Типы данных: double

Вывод

развернуть все

Моделируемый вывод из линейной модели, возвращенной как скаляр для модели одно вывода и Ny - вектор элемента для модели с Ny выходные параметры.

Типы данных: double

Параметры

развернуть все

Линейная модель, которая будет моделироваться, заданная как idss, idgrey, idpoly, idtf или объект idproc. Модель может быть непрерывно-разовым или дискретным временем, с или без задержек ввода - вывода. Вы ранее оцениваете или создаете линейную модель в рабочей области MATLAB®.

Значения начального состояния пространства состояний (idss) и линейные модели (idgrey) серого поля, заданные как Nx - вектор элемента, где Nx является количеством состояний модели. Чтобы оценить начальные состояния, которые обеспечивают лучшую подгонку между результатами измерений и моделируемым ответом модели для того же входа, используйте команду findstates.

Например, чтобы вычислить начальные состояния, таким образом, что ответ модели M совпадает с моделируемыми выходными данными в наборе данных z, задайте X0, такой что:

X0 = findstates(M,z)

Для линейных моделей кроме idss или idgrey, блок принимает, что начальные условия являются нулем.

Если вы хотите воспроизвести результаты симуляции, что вы входите в Образцовое Выходное окно графика в приложении System Identification, или от команды compare:

  1. Если идентифицированная модель m не является пространством состояний или моделью серого поля, преобразуйте модель в форму пространства состояний (модель idss) и задайте модель в пространстве состояний mss в блоке.

    mss = idss(m); 
    
  2. Вычислите значения начального состояния, которые производят лучшую подгонку между образцовым выводом и измеренным выходным сигналом с помощью findstates. Задайте горизонт прогноза, когда Inf, то есть, минимизирует ошибку симуляции.

    X0 = findstates(mss,z,Inf);
  3. Используйте модель mss и начальные состояния X0 в блоке Idmodel, чтобы выполнить симуляцию. Задайте тот же входной сигнал z для симуляции, которую вы использовали в качестве данных о валидации в приложении или compare.

Когда вы выбираете этот параметр, блок выводит шумовую амплитуду из линейного образцового свойства model.NoiseVariance. Программное обеспечение фильтрует случайный Гауссов белый шум с шумовой передаточной функцией модели и добавляет получившийся шум в моделируемый образцовый ответ. Если вы хотите добавить тот же шум каждый раз, когда вы запускаете модель Simulink®, задаете свойство Noise seed(s).

Для непрерывно-разовых моделей идеальное отклонение шумового термина бесконечно. В действительности вы видите ограниченный полосой шум, который составляет временные константы системы. Можно интерпретировать получившийся моделируемый вывод, как отфильтровано использование фильтра lowpass с полосой пропускания, которая не искажает динамику от входа.

Свойство Noise seed(s) отбирает генератор случайных чисел, таким образом, что блок добавляет тот же шум в моделируемый вывод каждый раз, когда вы запускаете модель Simulink. Для получения информации об использовании seed смотрите rng.

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

Для случайных перезапусков, которые отличаются от одной симуляции до другого, задайте Noise seed(s) как [].

Зависимость

Чтобы включить этот параметр, выберите Add noise.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2008a