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

Об 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 = 'sigmoidnet';
Доступ к значениям параметров модели и информации о неопределенностиИспользовать getpvec и getcov (для idnlgrey только модели).

Моделируйте параметры и соответствующие данные о неопределенности.

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

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

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

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

nparams(sys)

Похожие примеры

Подробнее о

Для просмотра документации необходимо авторизоваться на сайте