exponenta event banner

Укажите LMI с помощью графического интерфейса редактора LMI

Редактор LMI lmiedit - графический интерфейс пользователя (GUI) для определения систем LMI простым символьным способом. Печать

lmiedit

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

Более подробно, чтобы указать систему LMI,

  1. Объявите каждую переменную матрицы (имя и структуру) в верхней половине листа. Структура характеризуется своим типом (S для симметричной блок-диагонали, R для неструктурированных и G для других структур) и дополнительной матрицей «структуры». Эта матрица содержит конкретную информацию о структуре и соответствует второму аргументу lmivar(дополнительные сведения см. в разделе Определение переменных LMI).

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

  2. Укажите LMI как выражения MATLAB ® в нижней половине листа. Например, LMI

    (ATX + XAXBBTX I) < 0

    вводится путем ввода

    [a'*x+x*a x*b; b'*x -1] < 0
    

    если x - имя переменной матрицы X в верхней половине листа. Левыми и правыми сторонами LMI должны быть допустимые выражения MATLAB.

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

  • Визуализация последовательности lmivar/lmiterm команды, необходимые для описания этой системы LMI (view commands кнопка). И наоборот, система LMI, определенная конкретной последовательностью lmivar/lmiterm команды можно отобразить как выражение MATLAB, нажав на описание... кнопки.

    Новички могут использовать это средство в качестве учебного введения в lmivar и lmiterm команды.

  • Сохраните символическое описание системы LMI (save кнопка). Это описание можно перезагрузить позже, нажав кнопку загрузки.

  • Прочтите последовательность lmivar/lmiterm команды из файла (кнопка чтения). Затем можно нажать кнопку для описания матричных переменных или LMI для визуализации символьного выражения системы LMI, указанной этими командами. Файл должен описывать одну систему LMI, но в противном случае может содержать любую последовательность команд MATLAB.

    Эта функция полезна для проверки и отладки кода.

    Запишите в файл последовательность lmivar/lmiterm команды, необходимые для описания конкретной системы LMI (кнопка записи).

    Это полезно для разработки кода и прототипа функций MATLAB на основе LMI Lab.

  • Создайте внутреннее представление системы LMI, нажав кнопку «Создать». Результат записывается в переменную MATLAB с именем системы LMI (если для параметра «name of the LMI system» установлено значение mylmiвнутреннее представление записывается в переменную MATLAB mylmi). Следует отметить, что на этом этапе все связанные с LMI данные должны быть определены в рабочей области MATLAB.

    Внутреннее представление может быть передано непосредственно решателям LMI или любой другой функции LMI Lab.

Горячие клавиши

Как и с lmitermпри вводе выражений LMI на клавиатуре можно использовать различные сочетания клавиш. Например, нулевые блоки можно вводить просто как 0 и не нуждается в определении размеров. Аналогично, матрица идентификаторов может быть введена как 1 без нанесения размеров. Наконец, нет необходимости полностью указывать блоки LMI верхней диагонали. Скорее, вы можете просто напечатать (*) вместо каждого такого блока.

Ограничения

Хотя и довольно общие, lmiedit не так гибко, как lmiterm и следует учитывать следующие ограничения:

  • Круглые скобки нельзя использовать вокруг матричных переменных. Например, выражение

    (a*x+b)'*c + c'*(a*x+b)
    

    недопустимо, если x является именем переменной. Напротив,

    (a+b)'*x + x'*(a+b)
    

    является совершенно действительным.

  • Контуры и if операторы игнорируются.

  • При повороте lmiterm команды в символическое описание системы LMI, ошибка выдается, если первый аргумент lmiterm не может быть оценен. Использовать LMI и идентификаторы переменных, предоставленные newlmi и lmivar во избежание таких трудностей.

Как lmivar и lmiterm управляют представлением LMI

Пользователи, знакомые с MATLAB, могут задуматься, как lmivar и lmiterm физически обновить внутреннее представление LMISYS с тех пор LMISYS не является аргументом для этих функций. Фактически, все обновления выполняются через глобальные переменные для максимальной скорости. Эти глобальные переменные инициализируются setlmis, очищено getlmisи не отображаются в рабочей области. Несмотря на то, что этот артефакт прозрачен с точки зрения пользователя, обязательно выполните следующие действия:

  • Призвать getlmis только один раз и после полного указания системы LMI.

  • Воздержаться от использования команды clear global перед завершением описания системы LMI getlmis.

Связанные темы