matlab lmi 定义一个任意方阵,matlab中LMI应用说明

我们要实现的就利用LMI进行求解。

首先我们要用setlmis([])命令初始化一个LMI系统。

接下来,我们就要设定矩阵变量了。采用函数为lmivar

语法:X = lmivar(type,struct)

type=1: 定义块对角的对称矩阵。每一个对角块或者是全矩阵,标量,或者是零阵。

如果X有R个对角块,那么后面这个struct就应该是一个Rx2阶的的矩阵,在此矩阵中,struct(r,1)表示第r个块的大小,struct(r,2) 表示第r个块的类型<1--全矩阵,0--标量,-1--零阵)。

比如一个矩阵有两个对角块,其中一个是2x2的全对称矩阵,第二个是1x1的一个标量,那么该矩阵变量应该表示为X = lmivar(1, [2 1; 1 0]) 。

type=2: mxn阶的矩阵,只需要写作struct = [m,n]即可。

type=3: 其它类型。针对类型3,X的每一个条目(each entry of X)被定义为0或者是+(-)xn,此处xn代表了第n个决策变量。

那么针对我们的例子,我们如此定义变量:

% Q is a symmetric matrix, has a block size of 2 and this block is symmetric

Q = lmivar(1, [2 1]);

% S1 a symmeric matrix, size 2

S1 = lmivar(1, [2 1]);

% S2 is 1 by 1 matrix

S2 = lmivar(1, [1 0]);

% Type of 2, size 1 by 2

M = lmivar(2, [1 2]);

定义完成变量之后,我们就该用lmiterm来描述LMI中的每一个项了。Matlab 的官方文档提示我们,如果要描述一个LMI只需要描述上三角或者下三角元素就可以了,否则会描述成另一个LMI。

When describing an LMI with several blocks, remember to specify only the terms in the blocks on or below the diagonal (or equivalently, only the terms in blocks on or above the diagonal).

语法为:lmiterm(termID,A,B,flag)

termID是一个四维整数向量,来表示该项的位置和包含了哪些矩阵变量。

termID(1)可以为+p或者-p,+p代表了这个项位于第p个线性矩阵不等式的左边,-p代表了这个项位于第p个线性矩阵不等式的右边。注意:按照惯例来讲,左边通常指较小的那边。termID(2:3):

1、对于外部变量来说,取值为[0,0];

2、对于左边或者右边的内部变量来说,如果该项在(i,j)位置,取值[i,j]

termID(4):

1、对于外部变量,取值为0

2、对于A*X*B,取值X

3、对于A*X'*B,取值-X

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

想学C#很久了。

去年年底我就想着学C#了&#xff0c;还计划着两个星期学熟他&#xff0c;因为工作二年了&#xff0c;原来一直搞些ASP&#xff0c;有些基础&#xff0c;后来来这个公司&#xff0c;全部是用在asp.net环境下C#做后台开发的&#xff0c;同事兼密友陶成比我来得早许多&#xff0c;…

【转】程序在内存中的分布

前些天学习到了程序在虚拟内存中分布的一些知识点&#xff0c;结合在网上查阅的一些资料&#xff0c;整理一下知识点。本博客参考博主 hackbuteer1的《程序在内存中的分布》这篇文章。 v 在现代的操作系统中&#xff0c;当我们说到内存&#xff0c;往往需要分两部分来讲&#x…

php怎么创建进程,在php中为长时间运行的进程创建后台进程

好的,请原谅我,如果这是另一个问题的重复,但在搜索后我还没有找到一个明确的答案.我基本上想要做的是让我的php web应用程序触发一些事件(如电子邮件或报告生成器)可能需要几分钟才能完成并立即将控制权返回给页面.我来自.NET世界,可以通过线程轻松完成.所以这是工作流程&#…

GARFIELD@04-02-2005

treat 转载于:https://www.cnblogs.com/rexhost/archive/2005/04/02/130985.html

【转】TechEd第一课:新一代关系管理系统XRM**

提起微软的CRM产品&#xff0c;最先想到的是CRM 4.0。除了字面理解上的客户关系管理系统外&#xff0c;微软也赋予这款产品“应用开发平台”的角色&#xff0c;并给它一个新名字——XRM。XRM到底是什么东西&#xff1f;它能用来做什么&#xff1f;这些问题都在今天这节“微软新…

linux打包启动这着的文件,linux – 打开一个RPM文件并重新打包它

修改您没有源的RPM的最佳方式是按照以下步骤操作&#xff1a;>使用rpm2cpio命令将rpm解压缩到目录中>在该子目录内进行必要的更改制作一个“虚拟”规范文件并构建它.该虚拟规范文件可能如下所示&#xff1a;Name: blahVersion: 1.0Release: 1Summary: blahLicense: blahD…

学习Java的相关知识

工作的原因现在学习Java极其相关的技术,包括JBoss,Struts,JSP,EJB等. 感觉Java的库比较多,但做的真的一般,易用性很差,编程也非常的“片断”性&#xff0c;不像.NET思想连贯性强。可能是才学习几天的缘故吧。 Java的throws我很讨厌&#xff0c;我觉得绝对是个设计的错误。 转载…

【转】ASP.NET 2.0 - 导航(Navigation)SiteMap导航菜单关系

ASP.NET 2.0 拥有内建的导航控件。 网站导航 维护大型站点的导航菜单是很困难&#xff0c;也很费时的。 在 ASP.NET 2.0 中&#xff0c;菜单可存储在文件中&#xff0c;这样维护起来更加方便。这个文件通常名为 web.sitemap&#xff0c;被存放在网站的根目录中。 此外&…

Up or out!!!

近日获知浙江大学计算中心被撤销&#xff0c;心里感慨万千。忽然想起前几天听到的一句话&#xff1a;Up or out!如是而已。转载于:https://www.cnblogs.com/pipisong/archive/2005/06/14/174099.html

linux内核的邻居表,Linux内核报文收发-L3 - Section 3. IP协议、邻居子系统主要是接收、转发和发送三部分...

版本说明Linux版本&#xff1a; 3.10.103网卡驱动&#xff1a; ixgbe网络协议注册inet_init主要是注册各种协议注册TCP协议proto_register(&tcp_prot, 1)继续注册UDP、RAW、PINGarp_init, ip_init, tcp_init, udp_init, ping_init, icmp_initdev_add_pack(&ip_packet_t…

【转】EntityFramework使用Code First模式创建数据库控制生成单数形式的表名

使用Code-First模式生成数据库时&#xff0c;默认生成的数据库表的名称为类型的复数形式&#xff0c;例如实体类名称是"User"&#xff0c;默认生成的数据库表名为“Users”&#xff0c;多数情况下我们并不想生成的数据库表名为复数形式&#xff0c;那么应该如何来控制…

0803

“同”表示完全相同的产品。产品后的数字是价钱。AMD的CPU只能配AMD的主板&#xff0c;INTEL亦然。在最后&#xff0c;给出了一5500元的液晶家用配置 -----------------CPUINTEL Celeron D 331&#xff08;散装&#xff09; /600AMD Sempron 2600&#xff08;754盒装&#xff0…

linux grep子目录,linux grep搜索文件中的字符串

从文件中查找关键词grep linux text.txt //查找包含 linux的关键词[rootlocalhost ~]# grep root /etc/grouproot:x:0:rootbin:x:1:root,bin,daemon从多个文件中查找关键词[rootlocalhost ~]# grep root /etc/group /etc/my.cnf/etc/group:root:x:0:root/etc/my.cnf:user root…

【转】云服务器cvm 云服务器ecs区别

1、全称 cvm的英文全拼是 Cloud Virtual Machine &#xff08;云虚拟机&#xff09; ecs的英文全拼是 Elastic Compute Service&#xff08;弹性计算服务&#xff09; 2、对比 云服务器cvm是普遍的虚拟云服务器统称&#xff0c;是一种简单高效、安全可靠、处理能…

linux make怎么运行,Linux Make 命令教程

原标题&#xff1a;Linux Make 命令教程来自&#xff1a;阮一峰的网络日志链接&#xff1a;www.ruanyifeng.com/blog/2015/02/make.html代码变成可执行文件&#xff0c;叫做编译(compile)&#xff1b;先编译这个&#xff0c;还是先编译那个(即编译的安排)&#xff0c;叫做构建(…

快速了解c#中的索引器

快速了解c#中的索引器 C#中的索引器是新增加的&#xff0c;和属性有些不同。在c#中&#xff0c;属性可以是这样的&#xff1a;class Person {private string firstname;public string FirstName {get {return firstname;}set {firstname value;}}} 属性声明可以如下编码&#…

【转】C#运算符重载**

https://www.yiibai.com/csharp/csharp_operator_overloading.html 在C#中&#xff0c;可以重新定义或重载大多数内置运算符。 因此&#xff0c;程序员也可以使用具有用户定义类型的运算符。重载运算符是具有特殊名称的功能&#xff0c;关键字operator后跟定义运算符的符号。 类…

图形工具包 linux,GTK 4.0图形工具包正式发布:时隔四年的重大版本!

GTK是用于创建图形用户界面的工具包&#xff0c;GTK提供了一整套的小部件&#xff0c;适用于从小型一次性工具到完整的应用程序套件的项目。GTK是GNOME开发平台的核心&#xff0c;但是它也可以用于编写其他Linux环境的应用程序&#xff0c;以及针对微软Windows和苹果macOS的应用…

引用到网站绝对路径Server.MapPath(~/myfile.mdb)

在任何路径下&#xff0c;都可以用Server.MapPath("~/")引用到网站根目录下 转载于:https://www.cnblogs.com/yurichou/archive/2005/10/17/256357.html

【转】继承过程中 父类子类的 字段方法 内存分配 (非java语言)

名人名言&#xff1a;思想好比火星&#xff1a;一颗火星会点燃另一颗火星。一个深思熟虑的教师和班主任&#xff0c;总是力求在集体中创造一种共同热爱科学和渴求知识的气氛&#xff0c;使智力兴趣成为一些线索&#xff0c;以其真挚的、复杂的关系——即思想的相互关系把一个个…