exponenta event banner

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

Сведения об объектах модели панели инструментов идентификации системы

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

  • Как объект хранит данные

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

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

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

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

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

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

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

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

Задайте вектор параметра.

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

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

nparams(sys)

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

Подробнее