控制系统的数学模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实现步骤
根据数学模型、要求 的精度和时间,确定
数值计算方法
按算法要求通过分解、 综合、等效变换等方 法转换成适于在计算 机上运行的公式
上机调试并不断改进, 满足系统各项动态性能 指标,并得到理想的仿 真结果
用合适的开发语 言进行算法编程 和实现
12.1 状态空间法仿真
•四阶龙格-库塔(Runge-Kutta)法
【说明】 ur为输入向量, uc为输出向量, urs,ucs为ur,uc前一时刻的
值 ,uss为下次运算保留的输入值, s1为环节的间隙宽度值。 backlash( )函数
12.2 非线性环节的仿真
backlash( )函数算法程序框图
12.3 离散系统的仿真
离散系统的数学模型一般用差分方程和离散状态方程来描述。
当K=0.1时,令v=0.1,1,10,绘制反馈系统的仿真曲线。
例12.1.2 已知系统的状态方程为:
14 9 10 3
x


12
9
10

x


4
u
24 24 18 12
在零初始条件下阶跃信号的输入幅值为100,试应用状态空间法对系统仿真。
间隙非线性环节的数学表达式:
ur s1
uc

ur s1 ucs
ucs
ur 0 且uc 0 ur 0 且uc 0 ur 0 且uc 0 ur 0 且uc 0
bຫໍສະໝຸດ Baiducklash( )函数实现间隙非线性。
【调用格式】
[uc,uss]=backlash(urs,ur,ucs,s1)
ur s1
DeadZone( )实现死区非线性。
【调用格式】
uc=DeadZone(ur,s1)
【说明】 ur为输入向量,s1为死区非线性环节的死区值 ,uc为输出向量。
DeadZone( )函数
12.2 非线性环节的仿真
DeadZone( )函数算法程序框图
12.2 非线性环节的仿真
•间隙非线性
12.1 状态空间法仿真
ode4( )函数实现上述算法,其程序框图如下:
开始
计算闭环状态空间系数矩阵 Ab=A-BvC
求四阶 Rung-Kutta 法各次斜率 kj
xn xn1
计算 x n1

xn

h 6
(k1
2k2
2k3
k4 ),
y n1

Cx n1
N Y
t=tf?
结束
12.1 状态空间法仿真
第十二章 控制系统仿真
控制系统CAD与仿真
主要内容
12.1 12.2 12.3 12.4
状态空间法仿真 非线性环节的仿真 离散系统的仿真 典型环节的SIMULINK仿真
控 制
信号流图
单输入单输出系统

(SISO)
统 仿
状态空间
多输入多输出系统

(MIMO)
主要研究内容
通过系统的数学模型和计算方法,编写程序运算语句,使之能自动求 解各环节变量的动态变化情况,从而得到关于系统输出和所需要的中间各 变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。
取 n 0,1,2,, N 不断递推,便可得到所需时刻各点的状态变量x(tn ) 和输 出量 y(tn ) 。
•闭环系统的模型建立
对SISO系统r、u、y、v均为标量,由图可知 u r vy ,得
x Ax B(r vy)
又由
y Cx
可得到系统的闭环状态方程:x ( A BvC)x Br Ab x Br
, xn

h 2
k1 )
k3

f
(tn

h 2 , xn

h 2 k2)
k4 f (tn h, xn hk3 )


xn 1

xn

h 6
(k1

2k2

2k3

k4
)
12.1 状态空间法仿真
3、由 tn1 时刻的状态为 x n1 ,得到
yn1 Cxn1
【调用格式】
[t,y]=ode45('f',tspa,x0)
【说明】 f为定义的常微分方程函数名,tspa为起止时间向量,x0为初
始状态向量。 ode45( )函数
12.1 状态空间法仿真
例12.1.1 已知系统的开环传递函数为:
G(s) k(2s 1) s 2 (0.25s 1)2
在零初始条件下,当输入信号的幅值为1时,试绘制单位负反馈系统的仿真曲线。 MATLAB仿真程序l1211 令K=0.1,1,10,绘制单位负反馈系统的仿真曲线。
已知开环系统的状态方程为
x Ax Bu

y

Cx
采用四阶龙格-库塔法进行求解和仿真,其求解步骤和方法如下::
1、由 x Ax Bu,可知 f (t, x) Ax Bu;
2、根据四阶龙格-库塔法的递推公式:
k1 k2

f (tn , xn )
f
(tn

h 2
【说明】 ur为输入向量, s1为非线性环节的饱和值,uc为输出向量。
Saturation( )函数
12.2 非线性环节的仿真
Saturation( )函数算法程序框图
12.2 非线性环节的仿真
•死区非线性
死区非线性环节的数学表达式:
ur s1 uc 0
ur s1
ur s1 s1 ur s1
•差分方程法
差分方程描述法系统仿真的步骤如下:
根据系统的结构图,在适当位置加设虚拟采样开关和保持器; 将原系统转换成状态空间形式,并按指定的采样周期,依照离散化 方法,将系统离散化,并得到离散化的状态方程,即系统的差分方程
x(k 1) Gx(k) Hu(k) y(k) Cx(k) Du(k)
MATLAB仿真程序l1212
12.2 非线性环节的仿真
•饱和非线性
饱和非线性环节的数学表达式:
s1 uc ur
s1
ur s1 s1 ur s1 ur s1
uc
-s1
o s1
ur
Saturation( )函数实现饱和非线性。
【调用格式】
uc=Saturation(ur,s1)
【调用格式】
[t,y]=ode4(A,B,C,D,x0,h,r,v,t0,tf)
【说明】{A,B,C,D}为系统的系数矩阵,x0为状态向量初值,h为仿真步
长,r为输入信号的幅值,v为反馈系数,t0为仿真的起始时间,tf终止时间, y为输出量。 ode4( )函数
MATLAB中的ode45()函数可实现四阶/五阶龙格-库塔算法。
相关文档
最新文档