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/458889

相关文章

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.

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

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)示例代码:二、动态