matlab lmi两个未知数,Matlab复杂LMI仿真实例

2023-12-05 19:40

本文主要是介绍matlab lmi两个未知数,Matlab复杂LMI仿真实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(1)仿真的论文题目:

A PD-Like Protocol With a Time Delay to Average Consensus Control for Multi-Agent Systems Under an Arbitrarily Fast Switching Topology

Dong Wang, Ning Zhang, Jianliang Wang, Senior Member, IEEE, and Wei Wang

(2)仿真内容:其中提出的Theorem 1,固定时滞下的一种Lyapunov方程

01d73c2a2efea7306bcea84adb8d5a01.png

64f5a56ad44ab5cd134635176a6031b4.png

(3)这个式子中的第一个 LMI 比较复杂,一般的 LMI 描述方式难以描述。

分析:矩阵P的大小是3n*3n,将R,W,Q,Y,S都是n*n的,ra 和T矩阵都是4n*3n的。

1.将P矩阵转化为3*3分块矩阵,ra和T分割为4*3的分块矩阵。 块矩阵都是n*n的:

%把P定义为9个n*n的子块矩阵

[P11,~,SP11]=lmivar(1,[10 1]);

[P22,~,SP22]=lmivar(1,[10 1]);

[P33,~,SP33]=lmivar(1,[10 1]);

[P12,~,SP12]=lmivar(2,[10 10]);

[P13,~,SP13]=lmivar(2,[10 10]);

[P23,~,SP23]=lmivar(2,[10 10]);

[P21,~,SP21]=lmivar(3,SP12');

[P31,~,SP31]=lmivar(3,SP13');

[P32,~,SP32]=lmivar(3,SP23');

%P是3n*3n的

[P,~,SP]=lmivar(3,[SP11,SP12,SP13;SP21,SP22,SP23;SP31,SP32,SP33]);

RA=cell(4,3);

T =cell(4,3);

%把RA和T分成分块矩阵

for i=1:4

for j=1:3

RA{i,j}=ra(10*i-9:10*i,10*j-9:10*j);%[1 2 4;1 1 1;2 3 4;]

T{i,j}=t(10*i-9:10*i,10*j-9:10*j);

end

end

2.将P,RA,T的分块矩阵带入第一个矩阵不等式乘开:(下面是ra*P*T'的乘开的结果)

f3da7b1424d584bc238e2bdc292dda5f.png

00718274519f3768ba31758f839bddf5.png

3.同理乘开T*P*ra'

4.之后就可以用一般的LMI方法输入第一个LMI的转化结果和其他的LMI,然后求解。

这篇关于matlab lmi两个未知数,Matlab复杂LMI仿真实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/458890

相关文章

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN