附加资料:新的LMI求解工具箱——YALMIP工具箱
线性矩阵不等式(Linear Matrix Inequality,LMI)是控制领域的一个强有力的设计工具。许多控制理论及分析与综合问题都可简化为相应的LMI问题,通过构造有效的计算机算法求解。
随着控制技术的迅速发展,在反馈控制系统的设计中,常需要考虑许多系统的约束条件,如系统的不确定性约束等。在处理系统鲁棒控制问题以及其他控制理论引起的许多控制问题时,都可将所控制问题转化为一个线性矩阵不等式或带有线性矩阵不等式约束的最优化问题。目前线性矩阵不等式(LMI)技术已成为控制工程、系统辨识和结构设计等领域的有效工具。利用线性矩阵不等式技术来求解一些控制问题,是目前和今后控制理论发展的一个重要方向。
YALMIP是MATLAB的一个独立的工具箱,具有很强的优化求解能力,该工具箱具有以下几个特点[4]:
(1)YALMIP工具箱是基于符号运算工具箱编写的工具箱。
(2)YALMIP工具箱是一种定义和求解高级优化问题的模化语言。
(3)YALMIP工具箱用于求解线性规划、整数规划、非线性规划、混合规划等标准优化问题以及LMI问题。
采用YALMIP工具箱求解LMI问题,通过set指令可以很容易地描述LMI约束条件,不需要具体地说明不等式中各项的位置和内容,运行的结果可以用double语句查看。
使用工具箱中的集成命令,只需直接写出不等式的表达式,就可很容易地求解不等式了。YALMIP工具箱的关键集成命令为[4]:
(1)实型变量sdpvar是YALMIP的一种核心对象,它所代表的是优化问题中的实型决策变量。
(2)约束条件set是YALMIP的另外一种关键对象,用它来囊括优化问题的所有约束条件。
(3)求解函数solvesdp用来求解优化问题。
(4)求解未知量x完成后,用x=double(x)提取解矩阵。
YALMIP工具箱可从网络上免费下载,工具箱名字为yalmip.rar。工具箱安装方法为:先把rar文件解压到MATLAB安装目录下的Toolbox子文件夹;然后在MATLAB界面下选择File→set path→add with subfolders命令,找到解压文件目录,这样MATLAB就能自动找到工具箱里的命令了。
例如,求解下列LMI问题,LMI不等式为
ATP+FTBTP+PA+PBF<0
已知矩阵A,B,P,求矩阵F。
具体的一个求解实例如下:
取,,,解该LMI式,可得。
仿真程序:chap5_7.m
clear all; close all; %First example A=[-2.548 9.1 0;1-1 1;0-14.2 0]; B=[1 0 0;0 1 0;0 0 1]; F=sdpvar(3,3); P=1000000*eye(3); FAI=(A'+F'*B)'*P+P*(A+B*F); %LMI description L=set(FAI <0); solvesdp(L); F=double(F)