系统稳定性判定分析(一)---- 常系数线性系统内部稳定性

2024-05-01 15:20

本文主要是介绍系统稳定性判定分析(一)---- 常系数线性系统内部稳定性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 线性系统稳定性分析
    • 线性定常系统(线性时不变/自治系统)稳定性分析
    • 线性定常系统内部稳定性示例
  • 参考文献

  从上一节 系统稳定性的介绍中可以得知,分析系统内部稳定(Lyapunov意义下稳定)时可不考虑系统的输出情况,可直接通过系统的状态方程分析系统的稳定性。系统的状态方程根据构建形式的不同,可分为线性系统与非线性系统。如下基于由简入繁的原则,首先整理线性系统的稳定性分析过程。

本文内容主要基于Antsaklis, P. J., & Michel, A. N. (1997). Linear systems (Vol. 8). New York: McGraw-Hill. 一书。

线性系统稳定性分析

   ~~~~     线性系统根据状态方程中是否显含时间变量 t t t(状态变量本身为时间 t t t的函数,因此状态方程一定与时间 t t t有关。若状态方程中显示的包含时间 t t t的表达式,则表示状态方程显含时间变量 t t t。否则,状态方程不显含时间变量 t t t),可将线性系统划分为线性自治系统(或线性时不变系统) x ˙ = f ( x ( t ) ) , (1) \dot{\pmb{x}}=f(\pmb{x}(t)),\tag{1} x˙=f(x(t)),(1)与线性非自治系统(线性时变系统) x ˙ = f ( t , x ( t ) ) , (2) \dot{\pmb{x}}=f(t,\pmb{x}(t)),\tag{2} x˙=f(t,x(t)),(2)通常为表述简单,系统 (1) 与 (2) 可直接省略括号内的时间变量 t t t,表示为 x ˙ = f ( x ) \dot{\pmb{x}}=f(\pmb{x}) x˙=f(x) x ˙ = f ( t , x ) \dot{\pmb{x}}=f(t,\pmb{x}) x˙=f(t,x)
   ~~~~     如下首先分析线性自治系统的稳定性。

线性定常系统(线性时不变/自治系统)稳定性分析

   ~~~~     考虑如下线性时不变系统 x ˙ = A x . (3) \dot{\pmb{x}}=A\pmb{x}.\tag{3} x˙=Ax.(3)定义 x e \pmb{x}_e xe 为系统(3)平衡点,则系统(3)李雅普诺夫意义下的稳定性可通过如下定理进行判定:

定理1. 系统(3)的平衡点 x e \pmb{x}_e xe稳定的,当且仅当其系数矩阵 A A A (或者系统(3)的雅可比矩阵) 的所有特征值的实部小于等于0,且每个实部为零的特征值都有一个相关的 1 阶 Jordan 块。系统(3)的平衡点 x e \pmb{x}_e xe渐近稳定的,当且仅当其系数矩阵 A A A (或者系统(3)的雅可比矩阵) 的所有特征值的实部小于0
相反地,系统(3)的平衡点 x e \pmb{x}_e xe不稳定的,当且仅当其系数矩阵 A A A (或者其雅可比矩阵) 至少存在一个实部大于0的特征值,或者其实部为零的特征值所对应的Jordan块的阶数大于1阶。

补充: 有关特征值,Jordan块的介绍可参见矩阵分析:特征值,相似度对角化,Jordan标准形。
注: 通常我们所说的一个系统的收敛是与系统平衡点的渐近稳定有关,关于两者有如下定义:

定义1. 系统(3)的平衡点 x e \pmb{x}_e xe 是渐近稳定的当且仅当其(1) 是稳定的,(2) 当 t → ∞ t\to \infty t 时,系统(3)的解趋近于平衡点 x e \pmb{x}_e xe

线性定常系统内部稳定性示例

【示例一】分析如下系统在李雅普诺夫意义下的稳定性:
[ x ˙ 1 x ˙ 2 ] = [ 0 1 − 1 0 ] [ x 1 x 2 ] . (4) \begin{bmatrix} \dot x_1\\ \dot x_2 \end{bmatrix}=\begin{bmatrix} 0&1\\ -1&0 \end{bmatrix}\begin{bmatrix} x_1\\ x_2\end{bmatrix}.\tag{4} [x˙1x˙2]=[0110][x1x2].(4)通过计算可以得知系统(4)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T,其特征值为 λ 1 , 2 = ± i \lambda_{1,2} = \pm i λ1,2=±i,其Jordan块为 [ i 0 0 − i ] \begin{bmatrix} i&0\\ 0&-i \end{bmatrix} [i00i]。根据定理1,系统(4)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T是稳定的。系统(4)在初值为(0,0)条件下的运行轨迹如下所示:
在这里插入图片描述
系统(4)在初值为(0,1)条件下的运行轨迹如下所示:
在这里插入图片描述
结合以上两图可知,系统(4)的平衡点是稳定的,整体运行轨迹在平衡点的一定范围内波动。

【示例二】分析如下系统在李雅普诺夫意义下的稳定性:
[ x ˙ 1 x ˙ 2 ] = [ 0 1 0 0 ] [ x 1 x 2 ] . (5) \begin{bmatrix} \dot x_1\\ \dot x_2 \end{bmatrix}=\begin{bmatrix} 0&1\\ 0&0 \end{bmatrix}\begin{bmatrix} x_1\\ x_2\end{bmatrix}.\tag{5} [x˙1x˙2]=[0010][x1x2].(5)通过计算可以得知系统(5)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T,其特征值为 λ 1 , 2 = 0 \lambda_{1,2} = 0 λ1,2=0,其Jordan块为 [ 0 1 0 0 ] \begin{bmatrix} 0&1\\ 0&0 \end{bmatrix} [0010],特征值0所对应的Jordan块的阶数为2。根据定理1,系统(5)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T是不稳定的。系统(5)在初值为(0,1)条件下的运行轨迹如下所示:
在这里插入图片描述
【示例三】分析如下系统在李雅普诺夫意义下的稳定性:
[ x ˙ 1 x ˙ 2 ] = [ 2.8 9.6 9.6 − 2.8 ] [ x 1 x 2 ] . (6) \begin{bmatrix} \dot x_1\\ \dot x_2 \end{bmatrix}=\begin{bmatrix} 2.8&9.6\\ 9.6&-2.8 \end{bmatrix}\begin{bmatrix} x_1\\ x_2\end{bmatrix}.\tag{6} [x˙1x˙2]=[2.89.69.62.8][x1x2].(6)通过计算可以得知系统(6)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T,其特征值为 λ 1 , 2 = ± 10 \lambda_{1,2} = \pm10 λ1,2=±10,其Jordan块为 [ 10 0 0 − 10 ] \begin{bmatrix} 10&0\\ 0&-10 \end{bmatrix} [100010],存在一个实部大于0的特征值。根据定理1,系统(6)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T是不稳定的。系统(6)在初值为(0,1)条件下的运行轨迹如下所示:在这里插入图片描述
【示例四】分析如下系统在李雅普诺夫意义下的稳定性:
[ x ˙ 1 x ˙ 2 ] = [ − 1 0 − 1 − 2 ] [ x 1 x 2 ] . (7) \begin{bmatrix} \dot x_1\\ \dot x_2 \end{bmatrix}=\begin{bmatrix} -1&0\\ -1&-2 \end{bmatrix}\begin{bmatrix} x_1\\ x_2\end{bmatrix}.\tag{7} [x˙1x˙2]=[1102][x1x2].(7)通过计算可以得知系统(7)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T,其特征值为 λ 1 = − 1 \lambda_1= -1 λ1=1 λ 2 = − 2 \lambda_2= -2 λ2=2其Jordan块为 [ − 1 0 0 − 2 ] \begin{bmatrix} -1&0\\ 0&-2 \end{bmatrix} [1002],存在一个实部大于0的特征值。根据定理1,系统(7)的平衡点 x e = [ x 1 e , x 2 e ] T = [ 0 , 0 ] T \pmb{x}_e=[x_{1e}, x_{2e}]^T=[0, 0]^T xe=[x1e,x2e]T=[0,0]T是渐近稳定的。系统(7)在初值为(0,1)条件下的运行轨迹如下所示:
在这里插入图片描述

注: 上述四个示例的代码如下,需适当修改函数中的状态方程表达式,以及主函数中的时间变量的区间范围。

function dxdt = vdp1(t,x)%dxdt = [x(2);0];
%  dxdt = [x(2);-x(1)];
% dxdt = [-x(1);-x(1)-2*x(2)]; %dxdt = [x(2);-2*sin(x(1))];dxdt = [2.8*x(1)+9.6*x(2);9.6*x(1)-2.8*x(2)];
end
%[t,y] = ode45(odefun,tspan,y0)
[t,x] = ode45(@vdp1,[0 20],[0,1]);
plot(t,x)
xlabel('Time t');
ylabel('Solution x');
legend('x_1','x_2')

参考文献

[1] Antsaklis, P. J., & Michel, A. N. (1997). Linear systems (Vol. 8). New York: McGraw-Hill.
[2] 线性系统稳定性一般定理、齐次线性系统稳定性
[3] 矩阵分析:特征值,相似度对角化,Jordan标准形

这篇关于系统稳定性判定分析(一)---- 常系数线性系统内部稳定性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原