控制中的 LMI/页面/峰峰值范数
外观
控制中的 LMI/页面/峰峰值范数
系统的峰峰值范数性能
考虑以下系统
其中 是状态信号, 是输入信号,而 是输出。 给定初始条件 ,该系统可以定义为将输出和输入信号映射到峰峰值性能。
矩阵 ,, 和 是此优化问题所需的唯一数据集。
考虑一个连续时间 LTI 系统,,假设:,,,和 ,,,和 。假设矩阵 是 Hurwitz, 的峰峰值范数表示为:
存在一个矩阵 和 , , ,其中使用了以下约束条件:
由于此优化在约束条件中包含 ,因此它是一个双线性优化。除非对变量 进行某种替换,否则无法解决此 LMI。
结论
[edit | edit source]此 LMI 的结果将给出系统的峰峰值范数
实现
[edit | edit source]% Peak-to-Peak Norm
% -- EXAMPLE --
%Clears all variables
clear; clc; close all;
%Example Matrices
A = [ 1 1 0 1 0 1;
-1 0 -1 0 0 1;
1 0 0 -1 1 1;
-1 1 -1 0 0 0;
-1 -1 1 1 -1 -1;
0 -1 0 0 -1 0];
B = [ 0 -1 -1;
0 0 0;
-1 -1 1;
-1 0 0;
0 0 1;
-1 1 1];
C = [ 0 1 0 -1 -1 -1;
0 0 0 -1 0 0;
1 0 0 0 -1 0];
D = [ 0 1 1;
0 0 0;
1 1 1];
%SDPVAR variables
gam = sdpvar(1);
eps = sdpvar(1);
up = sdpvar(1);
%SDPVAR MATRIX
P = sdpvar(size(A,1),size(A,1),'symmetric');
%Constraint matrices
M1 = [A'*P+P*A+gam*P P*B ;
B'*P -eps*eye(3)];
M2 = [gam*P zeros(6,3) C' ;
zeros(3,6) (up-eps)*eye(3) D' ;
C D up*eye(3)];
%Constraints
Fc = (P >= 0);
Fc = [Fc; gam >= 0];
Fc = [Fc; eps >= 0];
Fc = [Fc; M1 <= 0];
Fc = [Fc; M2 >= 0];
%Objective function
obj = up;
%Settings for YALMIP
opt = sdpsettings('solver','sedumi');
%Optimization
optimize(Fc,obj,opt)
fprintf('\nRepresentation of what occurs when attempting to solve \n')
fprintf('problem without considering bilinearity\n\n')
fprintf('setting gamma to a certain value\n eg: 0.5')
gam = 0.5;
eps = sdpvar(1);
up = sdpvar(1);
%SDPVAR MATRIX
P = sdpvar(size(A,1),size(A,1),'symmetric');
%Constraint matrices
M1 = [A'*P+P*A+gam*P P*B ;
B'*P -eps*eye(3)];
M2 = [gam*P zeros(6,3) C' ;
zeros(3,6) (up-eps)*eye(3) D' ;
C D up*eye(3)];
%Constraints
Fc = (P >= 0);
Fc = [Fc; eps >= 0];
Fc = [Fc; M1 <= 0];
Fc = [Fc; M2 >= 0];
%Objective function
obj = up;
%Optimization
optimize(Fc,obj,opt)
fprintf('mu value: ')
disp(value(up))
外部链接
[edit | edit source]- LMI 属性及其在系统、稳定性和控制理论中的应用 - Ryan Caverly 和 James Forbes 编写的 LMI 列表。
- 系统与控制理论中的 LMI - Stephen Boyd 编写的 LMI 下载书籍。
- 控制中的线性矩阵不等式 - Carsten Scherer 和 Siep Weiland 编写的 LMI 下载书籍