Нелинейные образцовые структуры

Об объектах модели 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)

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

Больше о