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

Об объектах модели 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® Workspace их именами классов. Имя конструктора совпадает с именем объекта, который это создает.

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

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

Конструктор моделиПолучившийся класс модели
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.Nonlinearity
Для свойств, таких как Report, это сконфигурировано как структуры, использует запись через точку формы model.PropertyName.FieldName.
FieldName имя любого поля свойства.

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

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

Измените средство оценки нелинейности.

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

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

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

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

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

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

nparams(sys)

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

Больше о