Редактор LMI lmiedit
представляет собой графический пользовательский интерфейс (GUI) для определения систем LMI простым символическим способом. Печать
lmiedit
вызывается окно с несколькими редактируемыми текстовыми областями и различными кнопками.
Более подробно, чтобы указать вашу систему LMI,
Объявить каждую матричную переменную (имя и структуру) в верхней половине листа. Структура характеризуется своим типом (S
для симметричной блочной диагонали, R
для неструктурированных и G
для других структур) и дополнительной «структурой» матрицы. Эта матрица содержит определенную информацию о структуре и соответствует второму аргументу lmivar
(для получения дополнительной информации см. раздел «Определение переменных LMI»).
Используйте по одной линии на матричную переменную в областях редактирования текста.
Задайте LMI как MATLAB® выражения в нижней половине листа. Например, LMI
вводится путем ввода
[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
команды из файла (кнопка read). Затем можно кликнуть по описанию матричных переменных или описать LMI, чтобы визуализировать символическое выражение системы LMI, заданное этими командами. Файл должен описывать одну систему LMI, но может содержать любую последовательность команд MATLAB.
Эта функция полезна для валидации и отладки.
Запишите в файл последовательность lmivar
/lmiterm
команды, необходимые для описания конкретной системы LMI (кнопка записи).
Это полезно для разработки кода и прототипа функций MATLAB на основе LMI Lab.
Сгенерируйте внутреннее представление системы LMI нажатием кнопки создать. Результат записывается в переменный MATLAB, названную в честь системы LMI (если для «имени системы LMI» задано значение 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
избегать таких трудностей.
Пользователи, знакомые с MATLAB, могут задаться вопросом, как lmivar
и lmiterm
физическое обновление внутреннего представления LMISYS
начиная с LMISYS
не является аргументом этих функций. Фактически, все обновления выполняются через глобальные переменные для максимальной скорости. Эти глобальные переменные инициализируются setlmis
, очищается getlmis
, и не видны в рабочей области. Несмотря на то, что этот программный продукт прозрачен с точки зрения пользователя, обязательно: