Линейное приближение нелинейных черно-коробчатых моделей

Зачем вычислять линейное приближение нелинейной модели?

Управляйте конструкцией и методами линейного анализа, используя программное обеспечение Control System Toolbox™, требуют линейных моделей. Можно использовать предполагаемую нелинейную модель в этих приложениях после линейной модели. После линеаризации модели можно использовать модель для системы управления и линейного анализа.

Выбор подхода линейного приближения

Программное обеспечение System Identification Toolbox™ предоставляет два подхода для вычисления линейного приближения нелинейных моделей ARX и Гаммерштейна-Винера.

Чтобы вычислить линейное приближение нелинейной модели для заданного входного сигнала, используйте linapp команда. Получившаяся модель действительна только для того же входа, который вы используете для вычисления линейного приближения. Для получения дополнительной информации см. «Линейное приближение нелинейных моделей черного ящика» для заданного входа.

Если вы хотите тангенциальное приближение нелинейной динамики, которая точна около рабочей точки системы, используйте linearize команда. Получившаяся модель является приближением ряда Тейлора первого порядка для системы о рабочей точке, которая определяется постоянными значениями входного сигнала и состояния модели. Для получения дополнительной информации см. «Тангенциальная линеаризация нелинейных моделей черного ящика».

Линейное приближение нелинейных черно-коробчатых моделей для заданного входа

linapp вычисляет лучшее линейное приближение, в смысле средней квадратной ошибки, нелинейной модели ARX или Гаммерштейна-Винера для заданного входного сигнала или случайным образом сгенерированного входа. Получившаяся линейная модель может быть действительной только для того же входного сигнала, как и тот, который вы использовали для генерации линейного приближения.

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

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

  • Нелинейная модель ARX (idnlarx объект) или модель Гаммерштейна-Винера (idnlhw объект)

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

linapp использует заданный входной сигнал, чтобы вычислить линейное приближение:

  • Для нелинейных моделей ARX, linapp оценивает линейную модель ARX с использованием тех же порядков моделей na, nb, и nk как исходная модель.

  • Для моделей Гаммерштейна-Винера, linapp оценивает линейную модель Output-Error (OE) с использованием тех же порядков моделей nb, nf, и nk.

Чтобы вычислить линейное приближение нелинейной модели черного ящика для случайным образом сгенерированного входа, необходимо задать минимальное и максимальное входные значения для генерации входа белого шума с величиной в этой прямоугольной области значений, umin и umax.

Для получения дополнительной информации смотрите linapp страница с описанием.

Тангенциальная линеаризация нелинейных черно-коробчатых моделей

linearize вычисляет приближение ряда Тейлора первого порядка для динамики нелинейных систем относительно рабочей точки, которая определяется постоянными значениями входных параметров и состояний модели. Получившаяся линейная модель точна в локальной окрестности этой рабочей точки.

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

  • Нелинейная модель ARX (idnlarx объект) или модель Гаммерштейна-Винера (idnlhw объект)

  • Рабочая точка

Чтобы задать рабочую точку вашей системы, необходимо задать постоянный вход и состояния. Для получения дополнительной информации об определениях состояний для каждого типа параметрической модели, смотрите эти страницы с описанием:

  • idnlarx - Нелинейная модель ARX

  • idnlhw - Нелинейная модель Гаммерштейна-Винера

Если вы не знаете значений рабочих точек для своей системы, см. «Вычисление рабочих точек для нелинейных моделей черного ящика».

Для получения дополнительной информации смотрите idnlarx/linearize или idnlhw/linearize страница с описанием.

Вычисление рабочих точек для нелинейных моделей Black-Box

Рабочая точка определяется постоянными значениями входных параметров и состояний модели.

Если вы не знаете условий работы вашей системы для линеаризации, можно использовать findop для вычисления рабочей точки из спецификаций.

Вычисление рабочей точки из статических спецификаций

Использовать findop для вычисления рабочей точки из статических спецификаций:

  • Значения входа и выхода сигналов.
    Если либо статическое входное, либо выходное значение неизвестно, можно задать его как NaN для оценки этого значения. Это особенно полезно при моделировании систем MIMO, где известно только подмножество входных и выходных статических значений.

  • Более сложные статические спецификации.

    Создайте объект, который хранит спецификации для вычисления рабочей точки, включая входные и выходные границы, известные значения и начальные предположения. Для получения дополнительной информации см. idnlarx/operspec или idnlhw/operspec.

Для получения дополнительной информации смотрите idnlarx/findop или idnlhw/findop страница с описанием.

Вычисление рабочих точек на снимке симуляции

Вычислите рабочую точку в определенное время во время симуляции модели (моментальный снимок), указав время моментального снимка и входа значение. Чтобы использовать этот метод для вычисления рабочей точки равновесия, выберите вход, который приводит к установившемуся выходному значению. Используйте этот вход и значение времени, в котором выход достигает устойчивого состояния (время моментального снимка), чтобы вычислить рабочую точку.

При использовании этого метода необязательно задавать начальные условия для симуляции, поскольку начальные условия часто не влияют на установившиеся значения. По умолчанию начальные условия равны нулю.

Однако для нелинейных моделей ARX установившееся выходное значение может зависеть от начальных условий. Для этих моделей необходимо исследовать эффект начальных условий на реакцию модели и использовать значения, которые производят требуемый выход. Вы можете использовать data2state чтобы сопоставить входные-выходные значения сигналов от до начала симуляции с начальными состояниями модели. Поскольку начальные состояния являются функцией прошлой истории входных и выходных значений модели, data2state генерирует начальные состояния путем преобразования данных.

См. также

|

Похожие темы