控制系统仿真及MATLAB语言 连续系统的离散化方法

合集下载

实验二-基于Matlab的离散控制系统仿真

实验二-基于Matlab的离散控制系统仿真

实验二基于Matlab的离散控制系统仿真一、实验目的1)学习使用Matlab命令对离散控制系统进行仿真的方法。

2)学习使用Simulink工具箱对离散控制系统进行仿真的方法。

二、实验原理1. 控制系统命令行仿真一阶系统闭环传递函数为3()G ss+3请转换为离散系统脉冲传递函数并仿真。

根据要求实验有实验数据和所得图形如下:连续零极点图函数:离散函数零极点图:连续函数根轨迹图:离散函数根轨迹图:连续函数单位脉冲响应曲线:离散函数单位脉冲响应曲线:连续函数单位阶跃响应:离散函数单位阶跃响应:连续函数波特图:离散函数波特图:连续函数艾奎斯特曲线:离散函数艾奎斯特曲线:连续函数尼科尔斯曲线:离散函数尼科尔斯曲线:2. 控制系统simulink 仿真按图建立系统的Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。

图1 控制系统Simulink 仿真图解答于实验内容第二问三、实验内容1) 二阶系统传递函数为225()4+25G s s s =+,请转换为零极点模型,离散系统模型(采样时间为1),以及离散零极点模型,并进行基于matlab 命令的仿真研究(求连续和离散系统的单位脉冲响应、单位阶跃响应、零极点分布图、根轨迹、波特图、奈奎斯特曲线、尼科尓斯曲线等)。

根据题意实验所得有:连续单位脉冲响应离散单位脉冲响应连续单位阶跃响应离散单位阶跃响应连续零极点分布图离散零极点分布图连续根轨迹离散根轨迹连续波特图离散波特图连续奈奎斯特曲线离散奈奎斯特曲线连续尼科尓斯曲线离散尼科尓斯曲线2)按图1建立系统的Simulink模型,对不同的输入信号进行仿真。

改变模型参数,观察不同的仿真结果。

Step输入:Ramp输入:当函数分子分别为1,10,100,500时有:经过实验可以看出分子越大超调越大,调整时间越大。

3)将上述系统离散化并基于Simulink仿真,观察仿真结果。

根据题意实验有:Step输入:Ramp输入:分子为1时:Step输入:Ramp输入:分子为250时:Step输入:Ramp输入:四、实验报告1)按照实验报告所要求的统一格式,填写实验报告;2)记录实验过程、实验结果和图表。

计算机仿真技术与CAD——基于MATLAB的控制系统(第2版)[李国勇]第4章连续系统按环节离散化的数字仿真

计算机仿真技术与CAD——基于MATLAB的控制系统(第2版)[李国勇]第4章连续系统按环节离散化的数字仿真

u(kT 1)T
) ]
u[(k T
1)T ] (k
(t T
k t
T) (k
1)T
(4-5)
)
当t=(k+1)T时
uh[(k 1)T ] u(kT)
u[(k
1)T ]
u(kT)
u[(k T
1)T ]
(4-6)
13
今对典型环节中系数a,b,c,d的不同情况,求离散
状态变量式输出量的解。
1.当a≠0,b=0(相应有比例、微分和比例微分等环节) 时,由式(4-4)可得
A a 0, B c
b
b
(4-13)
代入式(4-10)后可得
z[(k 1)] z(kT) cT u(kT) cT u[(k 1)T ]
2b
2b
同样由式(4-8)和式(4-6)两式可得
x[(k 1)T ] z[(k 1)T ] d u(kT) (4-14)
b
17
今将以上三种情况下的典型环节的仿真模 型归纳为一个统一公式
2
4.1 连续系统的离散化
设连续系统的状态空间表达式为
x(t) Ax(t) Bu(t)
y(t
)
Cx(t)
Du(t)
其状态方程的解为
(4-1)
t
x(t) e At x(0) e A(t ) Bu ( )d
0
3
对于kT及(k+1)T两个相邻的采样时 刻,状态变量的值分别为
kT
x(kT) e A(kT ) x(0) e A(kT ) Bu ( )d
if (u>u1)
if ((u-s)>=x1) x=u-s;else x=x1;end

控制系统仿真及MATLAB语言-连续系统的离散化方法46页PPT

控制系统仿真及MATLAB语言-连续系统的离散化方法46页PPT
控制系统仿真及MATLAB语言-连续系 统的离散化方法
6













7、翩翩新 来燕,双双入我庐 ,先巢故尚在,相 将还旧居。
8

吁ห้องสมุดไป่ตู้











9、 陶渊 明( 约 365年 —427年 ),字 元亮, (又 一说名 潜,字 渊明 )号五 柳先生 ,私 谥“靖 节”, 东晋 末期南 朝宋初 期诗 人、文 学家、 辞赋 家、散
文 家 。汉 族 ,东 晋 浔阳 柴桑 人 (今 江西 九江 ) 。曾 做过 几 年小 官, 后辞 官 回家 ,从 此 隐居 ,田 园生 活 是陶 渊明 诗 的主 要题 材, 相 关作 品有 《饮 酒 》 、 《 归 园 田 居 》 、 《 桃花 源 记 》 、 《 五 柳先 生 传 》 、 《 归 去来 兮 辞 》 等 。
1
0















6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
Thank you

MATLAB与控制系统仿真

MATLAB与控制系统仿真
由分子和分母多项式系数可以唯一确定传递函数。 分子向量 num =[bm bm-1 … b1 b0 ] (numerator) 分母向量 den =[an an-1 … a1 a0 ] (denominator)
用tf( )命令可以建立一个传递函数模型,或将零极点增益模型和 状态空间模型转换为传递函数模型。 tf( )命令调用格式如下: Sys=tf(num,den): 用于生成S传递函数。
传递函数的部分分式展开 传递函数有时需要进行有理分式的分式展开。所谓部分 分式展开,就是将高阶的有理分式化为若干个一阶有理 分式之和的形式。如果传递函数G(s)不包含多重极点, 那么,将G(s)用部分分式展开后即可得到: n r
其中,k是常数项,对于真分式来说 k=0; r是各分式的系数,p是系统的极点。 MATLAB提供了一条函数residue( )可以求解有理分式的 部分分式展开,其基本调用格式为:(R,P,K)=residue(B,A) 其中B和A分别是降幂排列的该有理分式的分子和分母多 项式系数:R是求得的部分分式展开的各分式系数,P是 系统极点,K是常数项。
G1 ( s ) s5 ( s 1)(s 3 )
G2 ( s ) s 2 4s 4 )
系统输入信号为r(t)=sin(t),用Simulink求系统输出响应。
5.3.2 时域响应性能指标求取
调用单位阶跃响应函数step(),可以获得系统的单位阶跃 响应,当采用[y,t]=step(G)的调用格式时,通过对y,t的计 算,可以得到时域性能指标。 1. 峰值时间(timetopeak) [Y,k]=max(y) %求出y的峰值及相应的时间 timetopeak=t(k) %获得峰值时间 2 . 超调量(percentovershoot) C=dcgain(G) %求取系统的终值 [Y,k]=max(y) %求出y的峰值及相应的时间 percentovershoot=100*(Y-C)/C %计算超调量

基于MATLAB控制系统的仿真与应用

基于MATLAB控制系统的仿真与应用

毕业设计(论文)题目基于MATLAB控制系统仿真应用研究系别信息工程系专业名称电子信息工程班级学号088205227学生姓名蔚道祥指导教师罗艳芬二O一二年五月毕业设计(论文)任务书I、毕业设计(论文)题目:基于MATLAB的控制系统仿真应用研究II、毕业设计(论文)使用的原始资料(数据)及设计技术要求:原始资料:(1)MATLAB语言。

(2)控制系统基本理论。

设计技术要求:(1)采用MATLAB仿真软件建立控制系统的仿真模型,进行计算机模拟,分析整个统的构建,比较各种控制算法的性能。

(2)利用MATLAB完善的控制系统工具箱和强大的Simulink动态仿真环境,提供方框图进行建模的图形接口,分别介绍离散和连续系统的MATLAB和Simulink仿真。

I I I、毕业设计(论文)工作内容及完成时间:第01~03周:查找课题相关资料,完成开题报告,英文资料翻译。

第04~11周:掌握MATLAB语言,熟悉控制系统基本理论。

第12~15周:完成对控制系统基本模块MATLAB仿真。

第16~18周:撰写毕业论文,答辩。

Ⅳ、主要参考资料:[1] 《MATLAB在控制系统中的应用》,张静编著,电子工业出版社。

[2]《MATLAB在控制系统应用与实例》,樊京,刘叔军编著,清华大学出版社。

[3]《智能控制》,刘金琨编著,电子工业出版社。

[4]《MATLAB控制系统仿真与设计》,赵景波编著,机械工业出版社。

[5]The Mathworks,Inc.MATLAB-Mathemmatics(Cer.7).2005.信息工程系电子信息工程专业类0882052 班学生(签名):填写日期:年月日指导教师(签名):助理指导教师(并指出所负责的部分):信息工程系(室)主任(签名):学士学位论文原创性声明本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。

(整理)利用MATLAB进行离散控制系统模拟.

(整理)利用MATLAB进行离散控制系统模拟.

实验利用MATLAB进行离散控制系统模拟本试验的目的主要是让学生初步掌握MATLAB软件在离散控制系统分析和设计中的应用。

1.连续系统的离散化。

在MATLAB软件中,对连续系统的离散化主要是利用函数c2dm( )函数来实现的,c2dm( )函数的一般格式为C2dm( num, den, T, method),可以通过MATLAB的帮助文件进行查询。

其中:Num:传递函数分子多项式系数;Den:传递函数分母多项式系数;T:采样周期;Method:转换方法;允许用户采用的转换方法有:零阶保持器(ZOH)等五种。

2.求离散系统的相应:在MATLAB中,求采样系统的响应可运用dstep( ),dimpulse( ),dlsim( )来实现的。

分别用于求取采样系统的阶跃,脉冲,零输入及任意输入时的响应,其中dstep( )的一般格式如下:dstep( num, den, n),可以通过MATLAB的帮助文件进行查询。

其中:Num:传递函数分子多项式系数;Den:传递函数分母多项式系数;N:采样点数;3.此外,离散控制系统也可以用simulink工具箱进行仿真,仿真界面如下图(采样周期可以在对应模块中进行设定)。

1.编制程序实现上面三个仿真程序。

2.把得到的图形和结果拷贝在试验报告上。

3.在第1个例子中,改变采样周期为0.25,重新运行程序,把结果和原来结果进行比较,并说明为什么?4.在第2个例子中,改变采样点数为70,重新运行程序,把结果和原来结果进行比较,并说明为什么?同样,改变采样周期T,观察不同周期下系统阶跃响应的动态性能,分析采样周期对系统动态性能的影响。

1.1)num=10;den=[1,7,10];t=0.1[numz,denz]=c2dm(num,den,t,'zoh');printsys(numz,denz,'z')得出结果:t =0.1000num/den =0.039803 z + 0.031521------------------------z^2 - 1.4253 z + 0.49659若t改为0.25:num=10;den=[1,7,10];t=0.25[numz,denz]=c2dm(num,den,t,'zoh'); printsys(numz,denz,'z')得出结果为:t =0.2500num/den =0.18012 z + 0.10062-------------------------z^2 - 0.89304 z + 0.173772)num=10;den=[1,7,10];t=0.25;i=[0:35];time=i*t;[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);y_zoh=dstep(numz,denz,36);[xx,yy]=stairs(time,y_zoh);plot(time,yc,'r'),holdplot(xx,yy,'r'),hold;grid采样点数改为70:num=10;den=[1,7,10];t=0.1;i=[0:70];time=i*t;[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);y_zoh=dstep(numz,denz,71);[xx,yy]=stairs(time,y_zoh);plot(time,yc,'r'),hold周期改为0.25:3num=[0.008,0.072];den=[1,-1.905,0.905];t=0.1;i=[0:35];time=i*t;[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);y_zoh=dstep(numz,denz,36);[xx,yy]=stairs(time,y_zoh);plot(time,yc,'r'),holdplot(xx,yy,'r'),hold;gridSimulink 实现:仿真时间:10仿真时间700:3(3) 采样周期不同,得出的Z变换也不同,说明Z变换的结果随采样周期的变化而变化。

连续系统离散化分析

连续系统离散化分析

1实验一 离散系统的分析一 实验目的1.学习利用采样控制理论;2.使用MATLAB 理论进行分析;3. 学习利用z 变换与反变换分析离散控制系统;二、实验步骤1.开机执行程序C :\matlab \bin \matlab.exe (或用鼠标双击图标)进人MATLAB 命令窗口;2.运用所学自动控制理论z 变换与反变换,使用MATLAB 的基本知识分析离散控制系统的基本性质及进行控制系统的设计。

3. MATLAB 离散系统基本命令模型转换1)连续系统离散化sysd=c2d(sys,T) T 为采样时间sysd=c2d(sys,T,method)method 有四种模式:a. ‘zoh’---采用零阶保持器,b. ‘foh’---采用一阶保持器,c. ‘tustin’---采用双线性逼近(tustin )方法,d. ‘preqarp’---采用改进的(tustin )方法,2)离散系统连续化sys=d2c(sysd,T,method) T 为采样时间例 设)1(1)(+=s s s g , T=0.1s , 求G(z) 键入命令:sys=tf([1],[1 1 0]);c2d(sys,0.1) %采样时间0.1s得到离散传递函数:当采样时间取T=1s 时:0.004837 z + 0.004679 G (z )= ---------------------------- z^2 - 1.905 z + 0.9048 0.3679 z + 0.2642 G (z )= ---------------------------- z^2 - 1.368 z + 0.36792例 系统脉冲传递函数为6322.02644.03678.0)()(2+−+=z z z z R z C ,求离散单位阶跃响应。

解. 在MATLAB 窗口键入以下程序num=[0.3678 0.2644];den=[1 -1 0.6322];dstep(num,den)结果件下图:三、实验内容有系统1)其中K =10,T =0.25s,求单位阶跃函数r(t)=1 (t)作用下的响应。

计算机仿真技术基础第4章连续系统模型的离散化处理方法

计算机仿真技术基础第4章连续系统模型的离散化处理方法

1 S2
Z 1 TZ
Z • Z 12
T Y(Z) Z 1 U(Z)
Z反变换得差分方程:
y(n 1) y(n) Tu(n)
2)选用一阶保持器
Gh ( S )
T 1 TS 1
e TS S
2
离散化传递函数 G(Z ) Gh(S )G(S )
T
1
TS
1
e TS S
2
1
S
Y CX DU
t
状态方程的解 X (t) (t)X (0) (t )Bu( )d
采用零阶保持器对状态空间表达0式进行离散化处

u(t )
u(k )
零阶 保持器
u~(k )
x Ax Bu
x
~x
对e A于T X连(K续T解)
eX A( t()K1)T( tX) X(0(0))
t
根据Z变换理论,S域到Z域的最基本的
映射关系是:
Z
eTs

s 1 ln Z T
其中T是采样周期
若直接将这个映射关系代入G(S)得到G(Z)将 会很复杂,不便于计算,实际应用中是利用Z变 换理论的基本映射关系进行简化处理,得到近似 的离散模型。
4.1.1 简单替换法
由幂级数展开式:
eTx 1 Tx (Tx)2 (Tx)n
y(n 1) y(n) T [u(n 1) u(n)] 2
4.2 离散相似法
4.2.1 离散相似法的概念
离散相似法将连续系统模型处理成与之等效 的离散模型的一种方法。设计一个离散系统模型, 使其中的信息流与给定的连续系统中的信息流相 似。或者是根据给定的连续系统数学模型,通过 具体的离散化方法,构造一个离散化模型,使之 与连续系统等效。

MATLAB控制系统的仿真

MATLAB控制系统的仿真

C R
x1 x2
0 1
L
u
L
y [1
0]
x1 x2
[0]u

x Ax bu
y CT x du
• 没有良好的计算工具前:系统建立、变换、分析、设 计、绘图等相当复杂。
• MATLAB控制系统软件包以面向对象的数据结构为基 础,提供了大量的控制工程计算、设计库函数,可以 方便地用于控制系统设计、分析和建模。
Transfer function:
s+1 ------------s^2 + 5 s + 6
Matlab与系统仿真
22
应用——系统稳定性判断
系统稳定性判据: 对于连续时间系统,如果闭环极点全部在S平面左半平面,
则系统是稳定的;
若连续时间系统的全部零/极点都位于S左半平面, 则系统是——最小相位系统。
Matlab与系统仿真
38
4.2 动态特性和时域分析函数
(一)动态特性和时域分析函数表 (二)常用函数说明 (三)例子
Matlab与系统仿真
39
(一)动态特性和时域分析函数表 ——与系统的零极点有关的函数
表8.6前部分p263
Matlab与系统仿真
40
——与系统的时域分析有关的函数
Matlab与系统仿真
Matlab与系统仿真
8
4.1 控制工具箱中的LTI对象
Linear Time Invariable
(一)控制系统模型的建立 (二)模型的简单组合 (三)连续系统和采样系统变换(*略)
Matlab与系统仿真
9
(一)控制系统模型的建立
➢ MATLAB规定3种LTI子对象:
• Tf 对象—— 传递函数模型 • zpk 对象—— 零极增益模型 • ss 对象—— 状态空间模型

基于 Matlab 的离散控制系统仿真

基于 Matlab 的离散控制系统仿真

2014 / 2015 学年第 1 学期计算机控制技术实验报告班级学号 ********** 学生姓名蔡梦指导教师张坤鳌实验二 基于 Matlab 的离散控制系统仿真一、 实验目的和要求:1、 学习使用 Matlab 的命令对控制系统进行仿真的方法2、 学习使用 Matlab 中的 Simulink 工具箱进行系统仿真的方法二、 实验环境X86系列兼容型计算机,Matlab 软件三、 实验原理1、控制系统命令行仿真1)建立如图所示一阶系统控制模型并进行系统仿真:一阶系统闭环传递函数为G (S )=s s 313+=33+s ,转换为离散系统脉冲传递函数并仿真。

2)建立如图所示二阶系统控制模型并进行系统仿真:二阶系统闭环传递函数为G (S )=)54.02(51)54.02(522**++**+s s s s =222554.025+**+s s ,转换为离散系统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。

2、控制系统的 Simulink 仿真按图建立系统的 Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。

将上述系统离散化并仿真,观察仿真结果四、 实验步骤1、根据实验原理对控制系统进行软件仿真2、观察记录输出的结果,与理论计算值相比较3、自行选择参数,练习仿真方法,观察不同的仿真结果二阶系统闭环传递函数为G (S )=)54.02(51)54.02(522**++**+s s s s )54.02(51)54.02(522**++**+=s s s s 进行软件仿真如下图:分别进行离散仿真:五、实验心得针对这次实验设计,我通过各种渠道,上课认真学习,请教老师、上网搜索,图书馆查阅,询问同学等学习到了很多知识,一步步了解最少拍控制系统设计,锻炼了自我学习能力。

尽管学习上遇到了很多困难,结果也差强人意。

但我们在不断处理困难的过程中磨练了处理事物的能力和耐心,也让同学间学会了互相学习,共享资源。

离散电机pid控制及其matlab仿真

离散电机pid控制及其matlab仿真

03
在Simulink中构建PID控制器模型,包括比例、积分
和微分三个环节。
pid控制器仿真实现
01
PID控制器参数设置
根据控制要求,设置PID控制器 的比例、积分和微分系数,以及 采样时间等参数。
02
控制器输出与电机 响应
将PID控制器与离散电机模型连 接,观察电机响应与控制器输出 的关系。
03
电流式pid控制算法
电流式pid控制算法原理
电流式pid控制算法是根据电机电流的反馈信号来控制电机的旋转 扭矩。
电流传感器
在电流式pid控制系统中,需要使用电流传感器来检测电机的电流 ,并将电流信号转换为电信号。
控制逻辑
根据反馈信号和设定值之间的差异,通过pid控制算法计算出控制 输入,以调整电机的旋转扭矩。
MATLAB仿真实现
使用MATLAB的Simulink工具箱,搭建PID控制器模型,对伺服系 统进行控制仿真。
THANKS。
02
03
比例(P)控制
通过调节输入信号的幅值 ,以改变输出值的大小。
积分(I)控制
通过累计输入信号的幅值 ,以调节输出值的趋势。
微分(D)控制
通过比较输入信号的变化 率,以预调节输出值的变 化趋势。
离散电机pid控制器设计
选择合适的pid控制器
根据电机特性和控制要求,选择合适的pid控制器。
确定pid参数
基于模糊逻辑的控制器设计
模糊逻辑是一种基于模糊集合理论的智能控制方 法,适用于处理不确定性和非线性的系统。
基于模糊逻辑的控制器设计方法包括:模糊化、 规则库、反模糊化等步骤,可以根据系统的输入 和输出信息来调整pid控制器的参数,以实现更好 的控制效果。

应用MATLAB分析离散控制系统

应用MATLAB分析离散控制系统
图1-30 离散系统脉冲响应
3.dslim()函数的调用格式
dslim(num,den,u)
其中:num为脉冲传递函数分子多项式系数;den为脉冲传递函数分母多项式系数;u为输入 信号。
自动控制原理
自动控制原理
应用MATLAB分析离散控制系统
1.1 连续系统与离散系统模型之间的转换 在MATLAB中对连续系统的离散化是通过c2dm()函数实现的,c2dm()函数的调
用格式为 [numd,dend] = c2dm(num,den,T,’zoh’)
其中zoh表示零阶保持器;T为采样周期,num为传递函数分子多项式系数; den为传递函数分母多项式系数。
表1-5 连续系统模型与离散系统模型转换函数
MATLAB函数
调用格式
函数说明
c2d
sysd=c2d(sysc,Ts,’method’)
连续时间LTI系统模型转换成 离散时间系统模型
c2dm

[numz,denz]=c2dm(num,den,T,’method’)
连续时间LTI传递函数模型转 换成离散时间传递函数模型
d2c d2cm d2d
sysc=d2c(sys,’method’)
离散时间系统模型转换成连续 时间LTI系统模型
1. [A,B,C,D]=d2cm(Ad,Bd,Cd,Dd,T,’method’)
离散时间状态空间模型 转换成连续时间状态空 间模型
sys=d2d(sysd,T)
离散时间模型转换成新的离散 时间系统模型
利用MATLAB中的dstep()函数可得到输出响应,如图1-29所示。程序如下: num = [0.368 0.264]; den = [1 -1 0.632]; dstep(num,den)

控制系统仿真及MATLAB语言连续系统的离散化方法

控制系统仿真及MATLAB语言连续系统的离散化方法

这种方法的几何意义就是把f(t,x)在 区间[tk,tk+1]内的曲边面积用矩形面 积近似代替。计算简单,计算量小,
而且可以自启动。当h很小时,造成
的误差是允许的。该算法具有一阶 精度。
欧拉法的特点:导出简单,几何意义明显,便
于理解,能说明构造数值解法一般计算公式的 基本思想。通常用它来说明有关的基本概念。
例 设系统方程为
x x2, x0 1
用 Euler 法 求 其 数 h值0.1 解0 (t 1取 步

,
)
递推公式为
xn1 xn hf tn , xn xn 1 0.1xn

t0 0, y0 1
t1 0.1, y1 y010.1y0 0.9 t2 0.2, y2 y110.1y1 0.90.91 0.819 t3 0.3, y3 y210.1y2 0.81910.10.819 0.7519
K4)
K1 Axk Bu(tk )

K
2

A(xk

h 2
K1)
Bu(tk

h) 2

K
3

A(xk

h 2
K2)

Bu(tk

h) 2
K4 A(xk hK3) Bu(tk h)
yk+1 Cxk+1
RK法的特点:
1 需要存储的数据少,占用的存储空间少; 2 只需知道初值,即可启动递推公式进行计
4.1 常微分方程的数值解法
一. 数值求解的基本概念
设微分方程为
dx

dt

f

连续系统离散化方法

连续系统离散化方法

连续系统离散化方法一、概述连续系统离散化方法是一种将连续系统转化为离散系统的方法,常用于控制系统的设计和分析。

该方法可以将一个无限维度的连续系统转化为有限维度的离散系统,使得控制器设计和分析变得更加简单和可行。

二、连续系统模型在开始进行连续系统离散化的过程中,需要先建立一个连续系统模型。

通常情况下,这个模型可以由微分方程或者差分方程来表示。

三、离散化方法1. 时域离散化方法时域离散化方法是最基本的离散化方法之一。

它通过将时间轴上的信号进行采样,从而将一个连续时间信号转换为一个离散时间信号。

这个过程中需要确定采样周期以及采样点数目等参数。

2. 频域离散化方法频域离散化方法是一种利用傅里叶变换将一个连续时间信号转换为一个频域信号,然后再对该频域信号进行采样得到一个离散时间信号的方法。

这个过程中需要确定采样频率以及采样点数目等参数。

3. 模拟器法模拟器法是一种将连续系统转化为离散系统的方法。

这个方法的核心思想是利用一个数字模拟器来模拟连续系统的行为,从而得到一个离散时间信号。

4. 差分方程法差分方程法是一种将连续系统转化为离散系统的方法。

这个方法的核心思想是利用微分方程在离散时间点上进行近似,从而得到一个差分方程。

四、误差分析在进行离散化过程中,会产生一定的误差。

因此,需要对误差进行分析和评估,以确保离散化后的结果与原始连续系统相近。

五、应用实例1. 机械控制系统机械控制系统中通常需要对连续时间信号进行采样和处理。

通过使用离散化方法,可以将连续信号转换为数字信号,并且可以在数字域上进行控制器设计和分析。

2. 电力电子控制系统电力电子控制系统中通常需要对高频信号进行处理。

通过使用频域离散化方法,可以将高频信号转换为数字信号,并且可以在数字域上进行控制器设计和分析。

六、总结连续系统离散化方法是一种将连续系统转化为离散系统的方法。

通过使用不同的离散化方法,可以将连续时间信号转换为数字信号,并且可以在数字域上进行控制器设计和分析。

Matlab控制系统仿真(1)

Matlab控制系统仿真(1)

一. 控制系统的模型与转换目前大多数控制系统的分析设计方法都要求系统的模型已知。

所以,控制系统的数学模型是控制系统分析和设计的基础。

获得数学模型的方法有两种:一种是从已知的物理规律出发,用数学推导的方法建立系统的数学模型,另外一种就是利用试验数据拟合。

前一种方法称为系统的物理建模方法,而后者称为系统辨识,两者各有优势和适用场合。

一般的分析研究中将控制系统分为连续系统和离散系统,描述连线性连续系统常用的方式是传递函数(传递函数矩阵)和状态空间模型,相应的离散系统可以用离散传递函数和离散状态方程表示。

各种模型之间还可以进行相互转换。

1.1连续线性系统的数学模型连续线性系统一般可以用传递函数描述,也可以用状态方程描述。

前者是经典控制的常用模型,而后者是现代控制理论的基础。

它们是描述同一个系统的不同描述方式。

除此之外,还可以用零极点的形式表示连续线性系统模型。

本章着重介绍这些数学模型,并侧重介绍这些模型在控制系统的Matlab 环境下的表示方法。

高阶线性常微分方程通常是描述线性连续系统的最传统的方法,其基本表达式为: )()()()()()()()(11111111t u b dtt du b dtt u db dtt u d b t y a dtt dy a dtt y da dtt y d m m m m mmn n n n n n++++=++++------ 其中)(t u ,)(t y 分别是控制系统的输入和输出信号,他们均是时间t 的函数,n 是系统的阶次。

利用Laplace 引入的积分变换(拉氏变换),可以在另初始条件下对该微分方程进行变换,得到控制系统的传递函数: nn n n mm m ma s a sa sb s b s b s b s G ++++++++=----1111110)( (n m ≤)传递函数的引入使得控制系统的研究变得简单,它是控制理论中线性系统模型的一种主要描述方式。

利用MATLAB进行离散控制系统仿真(七_八)

利用MATLAB进行离散控制系统仿真(七_八)

姓名: 学号: 得分实验七基于MATLAB的描述函数法非线性系统分析一.基础知识1.考虑如图的非线性系统,图中的继电器非线性模块。

试判断系统是否存在自振;若有自振,求出自振的振幅和频率。

M=10,h=1程序如下:x=1:0.1:20;disN=40/pi./x.*sqrt(1-x.^(-2))-j*40/pi./x.^2; %描述函数disN2=-1./disN; %负倒描述函数w=1:0.01:200;num=12; %线性部分分子den=conv([1 1],[1 6 13]); %线性部分分母[rem,img,w]=nyquist(num,den,w); %线性部分Nyquist曲线参数plot(real(disN2),imag(disN2),rem,img) %同时绘制非线性部分和线性部分的极坐标图grid; %加网格由图可见,两曲线相交,系统存在自激振荡2.建立Simulink模型,如图进行仿真。

系统的Simulink仿真模型由图所示的仿真输出可见,系统中确实存在自激振荡,进一步证实了前面的分析。

二.实验内容:具有间隙非线性系统的Simulink仿真结构图如图所示,设给定输入位单位阶跃信号,试仿真对于线性系统的阶跃响应和有非线性环节的阶跃响应。

姓名: 学号: 得分实验八利用MATLAB进行离散控制系统仿真一.基础知识本试验的目的主要是让学生初步掌握MATLAB软件在离散控制系统分析和设计中的应用。

1.连续系统的离散化。

在MATLAB软件中对连续系统的离散化是应用c2dm()函数实现的,c2dm()函数的一般格式为2.求离散系统的响应:在Matlab软件中,求离散系统的响应可运用dstep()、dimpulse()、dlism()函数实现。

其分别用于求离散系统的阶跃、脉冲及任意输入时的响应。

dstep()的一般格式如下二.实验内容:1.已知离散系统的结构图如图所示,求开环脉冲传递函数。

(采样周期T=1s)系统结构图2.已知离散系统结构图如图所示,输入为单位阶跃,采样周期T=1s,求输出响应。

第3讲 matlab离散事件系统仿真方法

第3讲 matlab离散事件系统仿真方法

– – – –
事件调度法 活动扫描法 进程交互法 三阶段法
2
BUPT Information Theory & Technology Education & Research Center
离散事件系统特点
• 系统中的状态只是在离散时间点上发生变化, 而且这些离散时间点一般是不确定的; • 系统的状态变化往往无法用数学公式表示; • 描述方式通常为图、表等接近自然语言的方 式。 • 动态仿真,时间是仿真中的一个关键变量。 • 离散事件系统总包含排队过程。
20
BUPT Information Theory & Technology Education & Research Center
4、三阶段法
• 在三阶段仿真方法中,事件被分成两种类型。
– B(bound 或者 booked)事件:这些事件的发生时刻 是可预测的。
• 如通信系统仿真中一次语音通话的发起与结束。 • 通常是“到达”或“结束”类事件
• 基本思想
– 用事件的观念来分析真实系统; – 定义事件以及每个事件发生所引起的系统状态变化 – 按事件发生时间先后顺序来安排事件,并执行每个事件发生时的有 关逻辑关系
• 按照这种策略建立模型时,所有的事件均放在事件表中 • 模型中设有一个时间控制组件,它从事件表中选择具有最早 发生时间的事件并将仿真钟修改到该事件发生的时间,然后 调用与该事件相应的事件处理模块;该事件处理后返回时间 控制成分 • 事件的选择与处理不断进行,直到仿真终止条件或程序事件 产生为止
– 系统状态;事件(类型)及其属性
• 系统状态:例如顾客排队的队长q,服务员忙闲 状态Z • 引起这些状态变化的事件有:顾客到达系统、 顾客接受服务、顾客离开系统
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

K
2
A(xk
h 2
K1) Bu(tk
h) 2
K
3
A(xk
h 2
K2)
Bu(tk
h) 2
K4 A(xk hK3) Bu(tk h)
yk+1 Cxk+1
RK法的特点:
1 需要存储的数据少,占用的存储空间少; 2 只需知道初值,即可启动递推公式进行计
算,可自启动; 3 容易实现变步长运算。 4 每积分一步需要计算多次右函数,计算量
j 1
1)当r=1时:
xk1 xk ha1k1,
k1 f (tk , xk ),
与Taloy展开式相比较,可得a1=1,则上式成为
xk1 xk hk1 xk hf (tk , xk ),
欧拉递推公式
2)当r=2时:
k2
k1 f tk ,xk f tk b1h, xk hb2k1
t10 1.0, y10 y910.1y9 0.4628
已知方程的解析解为
y 1 1 t
精确解和解析解作比较:
t
0
精确解 1
数值解 1
0.1 0.2 0.3 0.4 0.5 …… 1.0
0.909 0.833 0.769 0.666 0.625 …… 0.5
0.9 0.819 0.752 0.659 0.647
h
xk 1
xk
( 6
K1
2K2
2K3
K4
)
K1 f tk ,xk
K2
K3
f f
tk
tk
h 2
,
xk
h 2 , xk
h
2 h
2
K1
K
2
K4 f tk h,xk hK3
仿真中遇到的大多数工程实际问题,四阶龙格库塔法以能 满足精度要求,其截断误差o(h5) 与h5同数量级。该法可以 自启动。
4)、状态空间四阶龙格-库塔递推式 若单输入单输出系统的状态空间表达式为:
X& AX BU Y CX DU
在仿真中,对于n阶系统,状态方程可以写成一阶微分方程
x&i ai1x1 ai2x2 L ain xn biu fi (t, x1, x2, x3,L , xn )(i 1, 2,L , n)
例 设系统方程为
g
x x2, x0 1
用Euler法求其数值解(取步长 h0.1, 0 t 1 )
递推公式为
xn1 xn hf tn , xn xn 1 0.1xn

t0 0, y0 1
t1 0.1, y1 y010.1y0 0.9 t2 0.2, y2 y110.1y1 0.90.91 0.819 t3 0.3, y3 y210.1y2 0.81910.10.819 0.7519
xnk ]T
K1 [k11
k21 L kn1]T , K2 [k12
k22 L kn2 ]T
K3 [k13
k23 L kn3 ]T , K4 [k14
k24 L kn4 ]T
状态方程的四阶龙格-库塔公式如下:
xk +1
xk
h 6
(K1
2K 2
2K 3
K4)
K1 Axk Bu(tk )
第四章 连续系统的离散化方法
4.1 常微分方程的数值解法
一. 数值求解的基本概念
设微分方程为
dx
dt
f
(t,
x)
x(t0 ) x0
则求解方程中函数x(t)问题的常微分方程初值问题
所谓数值求解就是要在时间区间[a, b]中取若干离散点
a t0 t1 L tN b hn tn1 tn
0.463
误差在 10 2 数量级, 精度较差。
2. 龙格库塔法※
基本思想:取Taylor级数展开式前三项
近似求解,并利用线性组合代替导数的 求解。
既可避免计算高阶导数,又可提高
数值积分的精度,这就是Runge-Kutta
法的基本思想。
2.
龙格库塔法※
x(t0 h) x(t0 )
xk1 xk h fk
h 2
ki1 )
biu(tk
h) 2
ki3
ai1 ( x1k
h 2
ki2 )
L
ain (xnk
h 2
ki2 )
biu(tk
h) 2
ki4 ai1(x1k hki3 ) L ain (xnk hki3 ) biu(tk h)
另 xk+1 [x1k1
xk 1 2
L
xnk1]T , xk [x1k x2k L
求出微分方程在这些时刻的近似值 x0 x1 x2 L xN
x(t0
h)
x(t0
)
h
g
x(t0 )
h2 2!
x(2) (t0
)
L
hk k!
x(k)
(t0 )
1. 欧拉法
矩形面积
取前两项近似: xk1 hf (tk , xk ) xk
取k=0,1,2,…N,从t0开始,逐点递推求解t1时的y1, t2时的 y2…,直至tn时的yn,称之为欧拉递推公式。
这种方法的几何意义就是把f(t,x)在 区间[tk,tk+1]内的曲边面积用矩形面 积近似代替。计算简单,计算量小,
而且可以自启动。当h很小时,造成
的误差是允许的。该算法具有一阶 精度。
欧拉法的特点:导出简单,几何意
义明显,便于理解,能说明构造数 值解法一般计算公式的基本思想。 通常用它来说明有关的基本概念。
g
h x(t0 )
h2
' fxk ' fk )
)
f 'tk f 'xk 等各阶导数不易计算,用下式中 ki的线性组合代替
r
xk1 xk h aiki
线性组合
i 1
r为精度阶次,ai为待定系数,由精度确定;ki用下 式表示
i 1
ki f (tk b1h, xk hb2 k j ) , i 2, 3L , r
根据四阶龙格-库塔公式,有
T=tk+h时刻的xi值
T=tk时刻的xi值
xk 1 i
xik
h 6
(ki1
2ki 2
2ki3
ki4 )
(i 1, 2,L , n)
ki1 ki 2
ai1x1k ai2 x2k L ain xnk biu(tk )
ai1 ( x1k
h 2
ki1 )
L
ain (xnk
大。
3.常微分方程Matlab求解
基于龙格-库塔法,MATLAB提供了求常微分方程数值解 的函数,一般调用格式为:
将 f tk b1h,xk hb2k1 在点 tk ,xk 展成Taylor级数
k2 fk b1hftk b2hk1 fxk
与台劳公式的二阶展开近似公式相比,可得以下关系:
ba12
a2
a2
1 12
a2b1 1 2
三个方程,四个未知数,解不唯一
各个系数的几种取法——见书上。
3) r=4时,四阶龙格库塔公式-最常用:
相关文档
最新文档