线性控制系统的数学模型分析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 线性系统的传递函数模型
• 为阶次, 为常数, 物理可实现
2020/3/13
6
传递函数的引入
Pierre-Simon Laplace (1749--1827),法国数学家 Laplace变换 • Laplace变换的一条重要性质: 若 则
2020/3/13
7
• 数学方式
传递函数表示
• MATLAB输入语句
2020/3/13
11
另外一种传递函数输入方法
• 例3-2 如何处理如下的传递函数?
• 定义算子
,再输入传递函数
2020/3/13
12
Maltab显示为:
Transfer function: 3 s^2 + 9
-------------------------------------------------------------s^7 + 8 s^6 + 30 s^5 + 78 s^4 + 153 s^3 + 198 s^2 +
零极点存在,则用二阶多项式来表示两个 因式,而不直接展成复数的一阶因式。
2020/3/13
27
• 获得零极点模型之后,可以给出pzmap()
命令在复数平面上表示出该系统的零极点 位置,用×表示极点位置,用o表示零点位 置。
2020/3/13
28
3.1.4 多变量系统传递函数矩阵模型
• 或者使用G.a命令提取A矩阵。
2020/3/13
22
例3-5
2020/3/13
23
带时间延迟的状态方程
• 数学模型
• MATLAB输入语句
• 其他延迟属性:ioDelay
2020/3/13
24
3.1.3 线性系统的零极点模型
• 零极点模型是因式型传递函数模型
• 零点 、极点 和增益 • 零极点模型的
5]),[1
2]),[1 2]),[1 2]);
G=tf(num,den)
2020/3/13
15
MATLAB的传递函数对象
2020/3/13
16
传递函数属性修改
• 例3-4 延迟传递函数
,即
• 若假设复域变量为 ,则
2020/3/13
17
传递函数参数提取
• 由于使用单元数组,直接用 • 有两种方法可以提取参数
2020/3/13
8
• 传递函数可以表示成两个多项式的比值, 在matlab中,多项式可以用向量表示。
• 将多项式的系数按s降幂次序排列可以得到 一个数值向量,用这个向量就可以表示多 项式。
• 分别表示完分子和分母后,再利用控制系 统工具箱函数tf()就可以用一个变量表示 传递函数模型。
2020/3/13
140 s + 40
2020/3/13
13
• 采用上面第一种方法很容易输入,方法真 直观,但如果分子或分母多项式给出的不 是完全的展开式,而是若干个因式的乘积, 则事先需要将其变换为完全展开式的形式, 两个多项式的乘积在matlab中可以用conv() 函数得出:p=conv(p1,p2)
• 其中p1和p2是两个多项式,调用这个函数 就能返回多项式乘积p
不行
• 这样定义的优点:可以直接描述多变量系统 • 第 i 输入对第 j 输入的传递函数
2020/3/13
18
3.1.2 线性系统的状态方程模型
• 状态方程模型
• 状态变量 , 阶次 n ,输入和输出 • 非线性函数: • 一般非线性系统的状态方程描述
2020/3/13
19
线性状态方程
• 时变模型
2020/3/13
2
系统数学模型的分类
系统 模型
非线性 线性
连续 离散
单变量 多变量
定常 时变
混合
2020/3/13
3
主要内容
• 线性连续系统的数学模型与MATLAB表示 • 线性离散时间系统的数学模型 • 方框图描述系统的化简 • 系统模型的相互转换 • 线性系统的模型降阶 • 线性系统的模型辨识 • 本章要点简介
• 如果有3个多项式的乘积,就需要嵌套使用 此函数。
2020/3/13
14
conv的嵌套使用
• p=conv(p1,conv(p2,p3))或者
• p=conv(conv(p1,p2),p3)
• 例如上面的例子:
num=3*[1 0 3];
den=conv(conv(conv(conv([1 2 1],[1 0
9
传递函数输入举例
• 例3-1 输入传递函数模型
• MATLAB输入语句
• 在MATLAB环境中建立一ቤተ መጻሕፍቲ ባይዱ变量 G
2020/3/13
10
• 显示结果为: Transfer function: 12 s^3 + 24 s^2 + 12 s + 20 ------------------------------2 s^4 + 4 s^3 + 6 s^2 + 2 s + 2
MATLAB表示
2020/3/13
25
例3-5 零极点模型 • MATLAB输入方法 • 另一种输入方法
2020/3/13
26
Matlab显示结果:
Zero/pole/gain: 6 (s+5) (s^2 + 4s + 8) ----------------------(s+1) (s+2) (s+3) (s+4) • 注意,在零极点模型显示中,如果有复数
• 线性时不变模型 (linear time invariant, LTI)
2020/3/13
20
线性时不变模型的MATLAB描述
• MATLAB 输入方法
• 矩阵是 方阵, 为 矩阵
• 为 矩阵, 为 矩阵
• 可以直接处理多变量模型
• 给出
矩阵即可
• 注意维数的兼容性
2020/3/13
21
• 获取状态方程对象参数可以使用ssdata() 函数[A,B,C,D] = ssdata(G)
2020/3/13
4
3.1 连续线性系统的数学 模型与MATLAB表示
• 3.1.1线性系统的状态方程模型
• 3.1.2 线性系统的传递函数模型 • 3.1.3 线性系统的零极点模型 • 3.1.4 多变量系统的传递函数矩阵模型
2020/3/13
5
3.1.1 线性连续系统数学模型及 MATLAB 表示
线性控制系统的数学模型分析
2020/3/13
1
系统的数学模型
• 系统数学模型的重要性
– 系统仿真分析必须已知数学模型 – 系统设计必须已知数学模型 – 本课程数学模型是基础
• 系统数学模型的获取
– 建模方法:从已知的物理规律出发,用数学推 导的方式建立起系统的数学模型
– 辨识方法:由实验数据拟合系统的数学模型
• 为阶次, 为常数, 物理可实现
2020/3/13
6
传递函数的引入
Pierre-Simon Laplace (1749--1827),法国数学家 Laplace变换 • Laplace变换的一条重要性质: 若 则
2020/3/13
7
• 数学方式
传递函数表示
• MATLAB输入语句
2020/3/13
11
另外一种传递函数输入方法
• 例3-2 如何处理如下的传递函数?
• 定义算子
,再输入传递函数
2020/3/13
12
Maltab显示为:
Transfer function: 3 s^2 + 9
-------------------------------------------------------------s^7 + 8 s^6 + 30 s^5 + 78 s^4 + 153 s^3 + 198 s^2 +
零极点存在,则用二阶多项式来表示两个 因式,而不直接展成复数的一阶因式。
2020/3/13
27
• 获得零极点模型之后,可以给出pzmap()
命令在复数平面上表示出该系统的零极点 位置,用×表示极点位置,用o表示零点位 置。
2020/3/13
28
3.1.4 多变量系统传递函数矩阵模型
• 或者使用G.a命令提取A矩阵。
2020/3/13
22
例3-5
2020/3/13
23
带时间延迟的状态方程
• 数学模型
• MATLAB输入语句
• 其他延迟属性:ioDelay
2020/3/13
24
3.1.3 线性系统的零极点模型
• 零极点模型是因式型传递函数模型
• 零点 、极点 和增益 • 零极点模型的
5]),[1
2]),[1 2]),[1 2]);
G=tf(num,den)
2020/3/13
15
MATLAB的传递函数对象
2020/3/13
16
传递函数属性修改
• 例3-4 延迟传递函数
,即
• 若假设复域变量为 ,则
2020/3/13
17
传递函数参数提取
• 由于使用单元数组,直接用 • 有两种方法可以提取参数
2020/3/13
8
• 传递函数可以表示成两个多项式的比值, 在matlab中,多项式可以用向量表示。
• 将多项式的系数按s降幂次序排列可以得到 一个数值向量,用这个向量就可以表示多 项式。
• 分别表示完分子和分母后,再利用控制系 统工具箱函数tf()就可以用一个变量表示 传递函数模型。
2020/3/13
140 s + 40
2020/3/13
13
• 采用上面第一种方法很容易输入,方法真 直观,但如果分子或分母多项式给出的不 是完全的展开式,而是若干个因式的乘积, 则事先需要将其变换为完全展开式的形式, 两个多项式的乘积在matlab中可以用conv() 函数得出:p=conv(p1,p2)
• 其中p1和p2是两个多项式,调用这个函数 就能返回多项式乘积p
不行
• 这样定义的优点:可以直接描述多变量系统 • 第 i 输入对第 j 输入的传递函数
2020/3/13
18
3.1.2 线性系统的状态方程模型
• 状态方程模型
• 状态变量 , 阶次 n ,输入和输出 • 非线性函数: • 一般非线性系统的状态方程描述
2020/3/13
19
线性状态方程
• 时变模型
2020/3/13
2
系统数学模型的分类
系统 模型
非线性 线性
连续 离散
单变量 多变量
定常 时变
混合
2020/3/13
3
主要内容
• 线性连续系统的数学模型与MATLAB表示 • 线性离散时间系统的数学模型 • 方框图描述系统的化简 • 系统模型的相互转换 • 线性系统的模型降阶 • 线性系统的模型辨识 • 本章要点简介
• 如果有3个多项式的乘积,就需要嵌套使用 此函数。
2020/3/13
14
conv的嵌套使用
• p=conv(p1,conv(p2,p3))或者
• p=conv(conv(p1,p2),p3)
• 例如上面的例子:
num=3*[1 0 3];
den=conv(conv(conv(conv([1 2 1],[1 0
9
传递函数输入举例
• 例3-1 输入传递函数模型
• MATLAB输入语句
• 在MATLAB环境中建立一ቤተ መጻሕፍቲ ባይዱ变量 G
2020/3/13
10
• 显示结果为: Transfer function: 12 s^3 + 24 s^2 + 12 s + 20 ------------------------------2 s^4 + 4 s^3 + 6 s^2 + 2 s + 2
MATLAB表示
2020/3/13
25
例3-5 零极点模型 • MATLAB输入方法 • 另一种输入方法
2020/3/13
26
Matlab显示结果:
Zero/pole/gain: 6 (s+5) (s^2 + 4s + 8) ----------------------(s+1) (s+2) (s+3) (s+4) • 注意,在零极点模型显示中,如果有复数
• 线性时不变模型 (linear time invariant, LTI)
2020/3/13
20
线性时不变模型的MATLAB描述
• MATLAB 输入方法
• 矩阵是 方阵, 为 矩阵
• 为 矩阵, 为 矩阵
• 可以直接处理多变量模型
• 给出
矩阵即可
• 注意维数的兼容性
2020/3/13
21
• 获取状态方程对象参数可以使用ssdata() 函数[A,B,C,D] = ssdata(G)
2020/3/13
4
3.1 连续线性系统的数学 模型与MATLAB表示
• 3.1.1线性系统的状态方程模型
• 3.1.2 线性系统的传递函数模型 • 3.1.3 线性系统的零极点模型 • 3.1.4 多变量系统的传递函数矩阵模型
2020/3/13
5
3.1.1 线性连续系统数学模型及 MATLAB 表示
线性控制系统的数学模型分析
2020/3/13
1
系统的数学模型
• 系统数学模型的重要性
– 系统仿真分析必须已知数学模型 – 系统设计必须已知数学模型 – 本课程数学模型是基础
• 系统数学模型的获取
– 建模方法:从已知的物理规律出发,用数学推 导的方式建立起系统的数学模型
– 辨识方法:由实验数据拟合系统的数学模型