Нелинейные структуры модели

Об объектах модели System Identification Toolbox

Объекты являются экземплярами классов модели. Каждый класс является проектом, который задает следующую информацию о вашей модели:

  • Как данные об объектно-ориентированной памяти

  • Какие операции можно выполнить на объекте

Этот тулбокс включает девять классов для представления моделей. Например, idss представляет линейные модели в пространстве состояний и idnlarx представляет нелинейные модели ARX. Для полного списка доступных объектов модели см. Доступные Линейные Модели и Доступные Нелинейные Модели.

Свойства модели задают, как объект модели хранит информацию. Объекты модели хранят информацию о модели, такой как математическая форма модели, имена графиков входного и выходного каналов, модулей, имен и значений предполагаемых параметров, неопределенности параметра и отчета оценки. Например, idss модель имеет InputName свойство для хранения одного или нескольких входных названий канала.

Позволенные операции на объекте являются вызываемыми методами. В программном обеспечении System Identification Toolbox™ некоторые методы имеют то же имя, но применяются к объектам многоуровневой модели. Например, step создает переходный процесс для всех объектов динамической системы. Однако другие методы уникальны для определенного объекта модели. Например, canon уникально для пространства состояний idss модели и linearize к нелинейным моделям черного ящика.

Каждый класс имеет специальный метод, названный конструктором, для создания объектов того класса. Используя конструктора создает экземпляр соответствующего класса или инстанцирует объекта. Имя конструктора совпадает с именем класса. Например, idss и idnlarx и имя класса и имя конструктора для инстанцирования линейных моделей в пространстве состояний и нелинейных моделей ARX, соответственно.

Когда создать структуру модели независимо от оценки

Вы используете конструкторов модели, чтобы создать объект модели в командной строке путем определения всех необходимых свойств модели явным образом.

Необходимо создать объект модели независимо от оценки, когда это необходимо:

  • Симулируйте или анализируйте эффект параметров модели на его ответе, независимом от оценки.

  • Задайте исходное предположение для определенных значений параметра модели перед оценкой. Можно задать границы на значениях параметров или настроить вспомогательную информацию модели заранее или обоих. Вспомогательная информация модели включает имена ввода/вывода определения, модули, примечания, пользовательские данные, и так далее.

В большинстве случаев можно использовать команды оценки, чтобы и создать и оценить модель — не имея необходимость создавать объект модели независимо. Например, команда оценки tfest создает модель передаточной функции использование данных и количества полюсов и нулей модели. Точно так же nlarx создает нелинейную модель ARX с помощью данных и порядков модели и задержек, которые задают настройку регрессора. Для получения информации о том, как и создать и оценить модели с одной командой, видит Команды Оценки Модели.

В случае моделей серого ящика необходимо всегда создавать объект модели сначала и затем оценивать параметры обыкновенного дифференциального уравнения или разностного уравнения.

Команды для построения нелинейных структур модели

Следующая таблица обобщает конструкторов модели, доступных в продукте System Identification Toolbox для представления различных типов нелинейных моделей.

После оценки модели можно распознать соответствующие объекты модели в MATLAB® Браузер рабочей области их именами классов. Имя конструктора совпадает с именем объекта, который это создает.

Для получения информации о том, как и создать и оценить модели с одной командой, видит Команды Оценки Модели.

Сводные данные конструкторов модели

Конструктор моделиПолучившийся класс модели
idnlgreyНелинейный полный дифференциал или разностное уравнение (модели серого ящика). Вы пишете функцию или файл MEX, чтобы представлять управляющие уравнения.
idnlarxНелинейные модели ARX, которые задают предсказанный выход как нелинейную функцию прошлых вводов и выводов.
idnlhwНелинейные модели Хаммерстайна-Винера, которые включают линейную динамическую систему с нелинейными статическими преобразованиями вводов и выводов.

Для получения дополнительной информации о том, когда использовать эти команды, смотрите, Когда Создать Структуру модели Независимо от Оценки.

Свойства модели

Объект модели хранит информацию в свойствах соответствующего класса модели.

Нелинейные модели idnlarx, idnlhw, и idnlgrey на основе idnlmodel суперкласс и наследовал все idnlmodel свойства.

В общем случае все объекты модели имеют свойства, которые принадлежат следующим категориям:

  • Имена графиков входного и выходного каналов, такие как InputName и OutputName

  • Шаг расчета модели, такой как Ts

  • Единицы измерения времени

  • Порядок модели и математическая структура (например, ОДУ или нелинейность)

  • Свойства, которые хранят результаты оценки (Report)

  • Комментарии пользователей, такие как Notes и Userdata

Для получения информации о получении справки на свойствах объектов смотрите страницы модели - ссылки.

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

ЗадачаКомандаПример
Просмотрите все свойства модели и их значенияИспользование get.

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

load iddata1
sys = nlarx(z1,[4 4 1]);
get(sys)
Доступ к определенному свойству моделиИспользуйте запись через точку.

Просмотрите выходную функцию в предыдущей модели.

sys.OutputFcn
Для свойств, таких как Report, это сконфигурировано как структуры, использует запись через точку формы model.PropertyName.FieldName.
FieldName имя любого поля свойства.

Просмотрите опции, используемые по нелинейной оценке модели ARX.

sys.Report.OptionsUsed
Измените значения свойств моделиИспользуйте запись через точку.

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

sys.OutputFcn = 'idSigmoidNetwork';
Доступ к значениям параметра модели и информации о неопределенностиИспользование getpvec и getcov для idnlgrey только модели).

Параметры модели и сопоставленные данные о неопределенности.

getpvec(sys)
Установите значения параметра модели и информацию о неопределенностиИспользование setpar и setcov для idnlgrey только модели).

Установите вектор параметра.

sys = setpar(sys,'Value',parlist)
Получите количество параметровИспользование nparams.

Получите количество параметров.

nparams(sys)

Связанные примеры

Больше о