Lyapunov

article/2025/9/15 10:01:03

一、正定函数

V(x)是向量x的标量函数,S是x空间包含原点的封闭有限区域,如果对于S中所有的x,都有:

(1)\dfrac{\partial}{\partial x}V(x)存在且连续

(2)V(0)=0

(3)当x\neq 0时,V(x)> 0,(V(x)\geq 0))

则V(x)是正定的(半正定)的。

二、二次型

1、定义

在李雅普诺夫第二方法上的稳定性分析中,二次型函数起着重要作用:V(x)={x}^T{P}{x},P为n*n有权阵,则有:

 即:V(\mathbf{x})=\sum_{i=1}^{n}\sum_{j=1}^{n}\boldsymbol{p}_{ij}\boldsymbol{x}_{i}\boldsymbol{x}_{j},其中P为对称矩阵,即Pij=Pji。

2、判定

根据塞尔维斯特定理,V(x)={x}^T{P}{x}中的P为对称矩阵时,V(x)正定的充要条件是P的所有顺序主子式行列式都是正的,即:

如果P的所有主子式为非负的,那么V(x)为半正定的。

 三、连续时间系统Lyapunov稳定性分析

1、李雅普诺夫第一法

线性系统:求出系统矩阵的特征值即可判断系统的稳定性。

非线性系统:由系统的动态方程来找出其一次近似的线性化方程,在通过对线性化方程的稳定性分析而给出原非线性系统在小范围内稳定性的有关信息。

定义:某一线性时不变系统在这里插入图片描述,如果系统矩阵A的特征值全部在左半平面,即特征值都小于0,即A的所有特征值都具有负实部,则系统的平衡状态 Xe 是渐近稳定的。

2、李雅普诺夫第二法

通过构造一个Lyapunov函数,分析其与其一次倒数的正定性而确定其稳定性。

定义:某一线性时不变系统:在这里插入图片描述,A为n×n常数非奇异矩阵,对于任意的正定矩阵Q,系统在平衡状态x=0处是大范围渐近稳定的充分必要条件是:

存在一个正定的实对称阵P,满足李雅普诺夫(矩阵代数)方程:在这里插入图片描述
先设定Lyapunov函数,再得到Lyapunov方程,最后去分析稳定性。

3、举例

(1)第一法

>> A=[-3 -6 -2 -1;1 0 0 0;0 1 0 0;0 0 1 0];
>> B=[1;0;0;0];C=[0 0 1 1];D=[0];>> eig(A)ans =-1.3544 + 1.7825i-1.3544 - 1.7825i-0.1456 + 0.4223i-0.1456 - 0.4223i

(2)第二法

A=[1 -3.5 4.5;2 -4.5 4.5;-1 1.5 -2.5];
B=[-0.5;-0.5;-0.5]';C=[1 0 1]; %系统状态方程
Q=eye(3,3);  %Q=I
P=lyap(A,Q); %求解矩阵Pfor i=1:length(A)  %判断是否稳定det(P(1:i,1:i))
endans =1.4825ans =0.6725ans =0.1169

即所有顺序主子式均大于0,系统稳定。

四、离散时间系统Lyapunov稳定性分析

1、稳定性判断

在这里插入图片描述
(1)第一方法:第一方法:A的特征值模均小于1;
(2)第二方法:对于任意的正定矩阵Q,存在正定矩阵P满足Lyapunov方程:在这里插入图片描述

 2、离散Lyapunov的解

注意右侧Q多出KTRK

 MATLAB求解

(1)写入初始参数

>> A=[1.1 2;0 0.95];
>> B=[0;0.079];
>> Q=eye(2);
>> R=.1;

(2)利用离散lqr求得最优反馈参数

>> [K,P,r]=dlqr(A,B,Q,R);K =2.4950   12.5106

(3)根据离散Lyapunov方程,可知此方程的“Q”为Q+KTRK

>> Q2=Q+K'*R*K

(4)判断系统稳定性

>> Acl=A-B*K
>> eig(Acl)>> abs(0.5308 + 0.2651i)
>> abs(0.5308 - 0.2651i)

可知极点的模均小于1,在单位圆内,则系统稳定。

(5)解Lyapunov方程

>> P=dlyap(Acl',Q2)P =4.0373    8.52268.5226   31.5400

五、无约束MPC

 1、输入变量

>> A=[1.1 2;0 0.95]
>> B=[0;0.079]
>> Q=eye(2)
>> R=0.1

 2、利用dlqr求解最优反馈矩阵K

>> [K,P,r]=dlqr(A,B,Q,R)

 3、根据Lyapunov求解可知闭环系统矩阵Q2=Q+K的转置RK

>> Q2=Q+K'*R*K

 4、求解闭环系统矩阵Acl

>> Acl=A-B*K

5、求解特征值,判断系统是否稳定

>> eig(Acl)

 求特征值的模,可知特征值在单位圆内,系统稳定。

>> y=abs(0.5308 + 0.2651i)
>> y=abs(0.5308 - 0.2651i)

6、求解Lyapunov方程

>> P=dlyap(Acl',Q2)

7、求解反馈矩阵Kmpc

Q_=diag(Q,Q,Q,...,P)

R_=diag(R,R,R,...,R)

>> Q_=[eye(2),zeros(2),zeros(2),zeros(2);zeros(2),eye(2),zeros(2),zeros(2);zeros(2),zeros(2),eye(2),zeros(2);zeros(2),zeros(2),zeros(2),P]

>> R_=[0.1 0 0 0;0 0.1 0 0;0 0 0.1 0;0 0 0 0.1]

 8、求F与FAI

F=[A;A2;A3;...AN]

>> F=[A;A*A;A*A*A;A*A*A*A]

 FAI=[B ...;AB B ...;A2B AB ....;AN-1B AN-2B ...B];

>> L=[0;0]
>> FAI=[B L L L;A*B B L L;A*A*B A*B B L;A*A*A*B A*A*B A*B B]

 9、求Kmpc

>> K=inv(FAI'*Q_*FAI+R_)*FAI'*Q_*F

 取第一个值,则u(k)=-[2.459 12.5106]x(k)


http://chatgpt.dhexx.cn/article/KB3KVlI8.shtml

相关文章

Lyapunov稳定性分析3(离散时间系统)

Lyapunov稳定性分析3(离散时间系统) 一、李雅普诺夫稳定性判定1.1 *Lyapunov*两类稳定性方法分析:1.2 总结: 二、举例2.1 MATLAB函数形式:2.2 MATLAB函数实例: 三、离散Lyapunov方程的解 注:Lya…

第三章——Lyapunov理论基础

文章目录 3.1 非线性系统和平衡点非线性系统自治与非自治系统平衡点常规运动 3.2 稳定性的概念稳定性与非稳定性渐进稳定性和指数稳定性局部和全局稳定性 3.3 线性化和局部稳定性3.4 Lyapunov直接法正定函数和Lyapunov函数平衡点理论全局稳定性的Lyapunov理论不变集理论局部不变…

react svg 实现体温单 三测单

技术栈:react svg 效果图: 开发电子病历可以用此控件

从头到脚说单测——谈有效的单元测试(下篇)

导读 在《从头到脚说单测——谈有效的单元测试(上篇)》中主要介绍了:金字塔模型、为何要做单测、单测的阶段及指标,在下篇中我们主要介绍关于mock、和如何不要滥用mock、用例编写的策略等更多精彩内容,让我们赶紧来看…

Eureka Series : Nursing Sheet

三测单 基本生命体征护理单 首页护理记录单var goTop = function() {document.body.scrollTop = document.documentElement.scrollTop = 0; }; var fixedFloat = function(data, bits = 2) {var result = 0.0;result = parseFloat(data).toFixed(bits);return re…

使用vue+zrender绘制体温单 三测单(1)

先上预览地址 http://132.232.99.217:8090/#/ 1.创建项目 使用vue init webpack temperaure 创建一个vue项目 然后安装axios zrender 命令分别是 npm install axios -S npm install zrender安装这2个组件 2.创建公共文件 在以后的使用中会出现本地调试和先上地址这是我们就…

springboot框架开发医院云HIS 住院医生站、住院护士站功能实现

住院医生站主模块:包括医嘱管理、病案首页、分配入科、住院清单、我的质控等子模块 (1)医嘱管理功能简介 ①住院患者开立医嘱、支持医嘱复制、停止、作废等操作; ②医嘱类型含药品、项目、材料、嘱托; ③支持住院各…

我的测试(三)

2014年因部门有管理上变动,我成为部门负责人/我的第一任师傅的副理,协助他进行测试技术团队的管理。前两年的时候主要还是在自动化测试方向,直到2016年的一些变动之后,才开始全面接管这个团队。在那两年里,我们开始正式…

从头到脚说单测——谈有效的单元测试(上篇)

一. 为单元测试“正名” 我曾经认为,单元测试面向的是一个函数。任何走出一个函数的测试,都不是单元测试。 其实,对“单元”的定义取决于自己。如果你正在使用函数式编程,一个单元最有可能指的是一个函数。你的单元测试将使用不…

从头到脚说单测——谈有效的单元测试

在我们谈到单元测试,大都清楚是测试函数符合预期,国外很多大公司都将单测执行的很好,国内成功的案例则相对有限。在本文中,笔者将在腾讯新闻项目中亲身经历单测从无到有的实践过程梳理为可读可参考的经验分享出来。在实践的过程我…

测试-3-测试分类

测试分类 一. 按开发阶段分1. 单元测试2. 集成测试3. 系统测试4. 验收测试 二. 按测试实施组织1. α测试2. β测试3. 第三方测试 三. 按是否运行划分1. 静态测试2. 动态测试 四. 按是否手工划分1. 手工测试2. 自动化测试 五. 按是否查看代码划分1. 黑盒测试2. 白盒测试3. 灰盒测…

vue 绘制体温单与三测单组件 实现前端js打印

更新: 代码开源 https://github.com/mydaoyuan/my-development 有帮助请帮忙点个 start 。企鹅:1534815114 新上 麻醉单 和 患者时间轴 在下面地址就可以看到。 ------------------------------------------------------------ 新的一个版本完全重…

mysql中mvcc实现机制和原理

目录 1.什么是mvcc? 2.mvcc中的快照读和当前读有什么区别和联系? 3.mvcc的作用是什么? 4.mvcc的实现机制和原理是什么? 1.什么是mvcc? mvcc全称是(Multi-Version Concurrency Control) 多版本并发控制,是数据库管理过程中的一种并发控制…

MVCC的实现原理

什么是MVCC? MVCC MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 mvcc - 百度百科 MVCC在My…

mysql的MVCC机制详解

文章目录 1. 什么是MVCC机制?2. MVCC机制底层是怎么实现的2.1 undo日志版本链2.2 read view机制 3. undo版本链和read-view的对比规则4. 结合案例解释mvcc机制实现可重复读过程 1. 什么是MVCC机制? 首先来重新认识一下可重复读和串行化: 可…

认真学习MySQL中的MVCC机制

什么是MVCC?MVCC(Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性操作有了保证。换言之&#…

MVCC的含义,如何实现的?

欢迎大家关注我的公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。 一、MVCC简介 1、什么是MVCC MVCC(Multi Version Concurrency Control的简称),代表多版本并发控制。与MVCC相对的&…

MySQL的MVCC机制

系列文章:关系型/非关系型【数据库】知识脉络 目录 MVCC翻译成中文是? MVCC(Multi-Version Concurrency Control) 回顾事务 MVCC是单打独斗吗? undo日志版本链 read view机制详解 MVCC机制是拿undo日志链和read-view对比 比对规则&…

什么是MVCC机制?

什么是MVCC机制? 什么是MVCC多版本并发控制机制 之前我们讲到,事务在并发环境下会带来脏读、脏写、不可重复读等诸多问题,为了解决这些问题,保证事务的ACID特性,出现了诸多隔离级别去解决这些问题,mysql默…

MySQL InnoDB的MVCC实现机制

MySQL InnoDB的MVCC实现机制 1.MVCC概述2.MVCC的实现原理隐式字段undo日志Read View(读视图)RR隔离级别的Read View方案 1.MVCC概述 什么是MVCC? MVCC,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现…