exponenta event banner

Idmodel

Моделирование определенной линейной модели в программном обеспечении Simulink

  • Библиотека:
  • Инструментарий идентификации системы/Модели

  • Idmodel block

Описание

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

Порты

Вход

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

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

Примечание

Не используйте блок Bus Creator (Simulink) или Mux (Simulink) для создания векторного сигнала.

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

Продукция

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

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

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

Параметры

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

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

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

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

X0 = findstates(M,z)

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

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

  1. Если идентифицированная модель m не является моделью state-space или grey-box, преобразуйте модель в форму state-space (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) собственность.

Для моделей непрерывного времени идеальная дисперсия шумового члена бесконечна. На самом деле, вы видите шум ограниченной полосы, который учитывает постоянные времени системы. Полученные смоделированные выходные данные можно интерпретировать как отфильтрованные с помощью фильтра нижних частот с полосой пропускания, которая не искажает динамику входных данных.

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

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

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

Зависимость

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2008a