【超详细】matlab LMI 工具箱教程——特别是lmivar函数和lmiterm函数讲解——用于求解优化问题

学习笔记

  • 前言
    在这里插入图片描述

1. 定义变量——lmivar()

图1图1

在这里插入图片描述

%具体函数的意义和用法在后面会详细介绍
%%初始化LMI系统
setlmi([]) 
%%定义决策变量
X=lmivar(1,[6,1]); 
S=lmivar(1,[2 0;2 1]); 
%%添加LMI内因子的项 %注意只要给出右上角(或左下角)的即可
lmiterm([1 1 1 X],1,A,’s’); 
lmiterm([1 1 1 S],C’,C); 
lmiterm([1 1 2 X],1,B); 
lmiterm([1 2 2 S],-1,1) 
%% 
lmiterm([-2 1 1 X],1,1); 
%% 
lmiterm([-3 1 1 S],1,1); 
lmiterm([3 1 1 0],1); 
%% 
lmisys=getlmis;

在这里插入图片描述

%%定义X1 
X1=lmivar(1,[3,1]); %1即type1,是对称化的;[n  m]里面的n表示几阶方阵,m就三个可能,因为既不是零,也不是标量,所以是1。即对称矩阵在这里属于“满矩阵”的范畴(如图1中讲述)
%%定义X2 
X2=lmivar(2,[2,4]); %长方形矩阵,即type2
%%定义X3 
%注意此时的X3(3,3)是算标量的,原因有二,一是它不满也不全为零,二是只需要δ2一个数据即可确定
X3=lmivar(1,[5 1;1 0;2 1]);

在这里插入图片描述
请添加图片描述

%由于Di不符合是方阵,故不能使用type=1来构造X 
[X1,n,sX1]=lmivar(2,[2 3]); 
[X2,n,sX2]=lmivar(2,[3 2]); 
%有X1和X2组合成X 
X=lmivar(3,[sX1,zeros(2);zeros(3),sX2]);

2. lmiterm(termID,A,B,flag)

确定 LMI 中每一项的内容,包括内外因子、常数项以及变量项。再次强调,在描述一个具有分块对称的 LMI 时,只需要确定右上角或者左下角即可。
在这里插入图片描述
%这里的p后面例子里都写的是1,表示小于号左边
在这里插入图片描述
在这里插入图片描述

%确定LMI左边的项(即不等号较小的那边,再次强调),还有记住只要描述一半即可
lmiterm([1 1 1 X2],2*A,A’);%变量x2z左边是2A,右边是A。下面同理 
lmiterm([1 1 1 x3],-1,E); %依然是(1,1)位置的描述,所以中间两个1 1没变
lmiterm([1 1 1,0],D*D’); 
lmiterm([1 2 1 -X1],1,B); 
lmiterm([1 2 2 0],-I); 
%同理描述右边的项,注意零矩阵可以不描述,当然你描述了也不会错
lmiterm([-1 0 0 0],M);%描述LMI右边的外因子
lmiterm([-1 1 1 X1],C,C’,’s’); %表示CX1C'+CX1'C'
lmiterm([-1 2 2 X2],-f,1);%右边没有东西就看做×1

LMI 求解器命令

此处针对的是LQR问题
在这里插入图片描述
所以这里只放了gevp函数
在这里插入图片描述

在这里插入图片描述

其他更多的函数、更系统的介绍请参考该链接。但有好多地方错的,大家小心看0.0
链接:https://pan.baidu.com/s/18cfgguHdea3jonZfzOK6Hw?pwd=1234
提取码:1234

  • 34
    点赞
  • 159
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
matlabLMI工具箱用于解决H无穷控制中的线性矩阵不等式(LMI问题的工具。在使用LMI工具箱之前,需要通过setlmis([])来初始化一个LMI系统。在LMI中,矩阵变量可以通过lmivar来定义。例如,可以使用lmivar(type, struct)来定义一个矩阵变量X。其中,type是lmivar的类型参数,struct是表示矩阵的结构参数。 在LMI工具箱中,可以通过定义矩阵变量和设置约束条件来求解H无穷控制中的最优控制律。例如,可以使用lmiterm来定义约束条件,然后使用lmisys来将约束条件添加到LMI系统中。通过求解LMI系统,可以得到最优的控制律。 举个例子,假设有一组已知矩阵A、B1、B2、C1、D11、D12,以及未知矩阵X、Y和一个待求解的量γ。可以使用lmivar来定义矩阵变量X、Y和γ,然后使用lmiterm来设置约束条件。最后,使用lmisys来将约束条件添加到LMI系统中,并通过求解LMI系统来得到最优的控制律。 总之,matlabLMI工具箱提供了一种方便的方法来求解H无穷控制中的线性矩阵不等式问题,可以通过定义矩阵变量和设置约束条件来得到最优的控制律。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [matlab-LMI工具箱](https://blog.csdn.net/mercurialmush/article/details/117630571)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值