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

相关文章

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

C++中的解释器模式实例详解

《C++中的解释器模式实例详解》这篇文章总结了C++标准库中的算法分类,还介绍了sort和stable_sort的区别,以及remove和erase的结合使用,结合实例代码给大家介绍的非常详细,感兴趣... 目录1、非修改序列算法1.1 find 和 find_if1.2 count 和 count_if1

MySQL中如何求平均值常见实例(AVG函数详解)

《MySQL中如何求平均值常见实例(AVG函数详解)》MySQLavg()是一个聚合函数,用于返回各种记录中表达式的平均值,:本文主要介绍MySQL中用AVG函数如何求平均值的相关资料,文中通过代... 目录前言一、基本语法二、示例讲解1. 计算全表平均分2. 计算某门课程的平均分(例如:Math)三、结合

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.