MATLAB如何实现,连续时间系统的状态空间分析?

2025-09-29 17:17:44

1、教学内容

1. 研究对象和研究目的

2. 连续时间系统的状态空间模型:LCR电路案例分析

3. MATLAB实现状态空间模型的创建与求解

4. 状态空间模型的创建与求解:基于系统微分方程/传递函数

5. 补充与扩展

5.1 状态变量初值问题

5.2 逆矩阵问题

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

2、研究对象和研究目的

使用MATLAB实现连续时间系统的状态空间分析,求解连续时间系统状态空间模型,在确定性输入信号(激励信号)的作用下,对输入信号的响应 (系统的输出)

1. 连续时间线性时不变系统 (LTI system)

2. 本课程只讨论单输入单输出系统 (SISO system)

3. 多输入多输出系统 (MIMO system) 的分析方法,可由单输入单输出系统进行类比和引申

4. 视频:连续时间系统的时域分析,lsim 函数只用来求解系统的零状态响应 (基于传递函数)

5. 使用 lsim 函数求解系统的全响应和零输入响应,需要基于系统的状态空间模型

MATLAB如何实现,连续时间系统的状态空间分析?

3、连续时间系统的状态空间模型 (State -Space Model)

为了与MATLAB里的相关函数的定义说明保持一致,约定以下符号

1. 输入信号 (激励信号): u(t)

2. 输出信号 (系统响应): y(t)

3. 系统的状态矢量: x(t)

MATLAB如何实现,连续时间系统的状态空间分析?

4、案例分析——LCR电路

通过引入状态变量,将二阶微分方程描述的系统,改由一阶微分方程组来描述

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

5、MATLAB实现状态空间模型的创建与求解

1. 连续时间系统的状态空间模型sys_ss的创建

1.1 sys_ss= ss(A, B, C, D)

1.2 根据系统微分方程/ 传递函数求得

2. MATLAB提供了一个强大的lsim函数,用于求解系统的状态空间模型

基本调用格式:y = lsim(sys_ss, u, t, x0) & [y, t, x] = lsim(sys_ss, u, t, x0)

MATLAB如何实现,连续时间系统的状态空间分析?

6、状态空间模型求解:LCR电路模型

MATLAB如何实现,连续时间系统的状态空间分析?

7、状态空间模型的创建与求解:基于系统微分方程/ 传递函数

1. 系数向量den 和num的定义要点,请参阅教学视频:连续系统时域分析& 离散系统时域分析

2. 离散系统差分方程/ 传递函数转换为状态空间模型时,MATLAB要求num和den 的长度一样

3. 根据系统的微分方程/ 传递函数,创建状态空间模型

4. 直接由系数向量生成状态空间模型

5. 先由系数向量,定义出系统的传递函数,再转换成状态空间模型

6. 状态空间模型转换为系统微分方程/ 传递函数

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

8、补充与扩展:状态变量初值问题

连续时间系统的全响应= 零状态响应+ 零输入响应

1.1 零状态响应:lsim基于传递函数 H(s) 求解:视频:连续时间系统的时域分析

1.2 零输入响应:lsim基于状态空间模型求解:状态变量的初值容易求得

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

9、补充与扩展:逆矩阵问题

1. 如果想要CA矩阵可逆,可以先将 H(s) 里相同的零极点消除(注意:系统会因此而降阶),然后再转换成状态空间模型

2. 消除传递函数 H(s) 里相同的零极点,再转换成状态空间模型,可以保证CA矩阵可逆

3. 以上步骤,MATLAB里可以直接实现

3.1 sys = tf(num, den)

3.2 sys_ss= ss(sys, 'minimal')

3.3 状态空间模型sys_ss完全可观,完全可控

3.4 特别注意:系统可能会降阶

MATLAB如何实现,连续时间系统的状态空间分析?

MATLAB如何实现,连续时间系统的状态空间分析?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢