面向结构图的连续系统数字仿真

合集下载

第五章第二节面向系统结构图的数字仿真

第五章第二节面向系统结构图的数字仿真

Ab A BkC
为系统闭环系数矩阵,而输入矩阵B和输出矩阵C不变。 根据求得的系统仿真模型,观察可知,该式其实是一个一 阶微分方程组的矩阵表达形式,采用四阶龙格-库塔法, 即可根据典型闭环系统的结构图进行仿真。
(二)仿真实现 由以上确定的仿真模型,采用四阶龙格-库塔法求解。 由式3 X A X Br b 知
yk 1 CX k 1
Байду номын сангаас
按以上算式,取K=0,1…N不断递推,即求得所需时间 t0,t1….各点的状态变量x(tk)和输出量y(tk)。 采用四阶龙格-库塔法,即可根据典型闭环系统的结构图 进行仿真。
(三)仿真程序框图与实现 构成一个完整的仿真程序,必须至少建立: (1)输入数据块 (2)初始化块 (3)运行计算块 (4)输出结果块 作为系统仿真程序,使用时应尽可能方便,使用者只要 将开环传递函数G(s)的分母、分子各系数和反馈系数 输入计算机,计算机就掌握了关于该系统的基本信息, 然后形成开、闭环状态方程各阵等步骤均由仿真程序自 动完成,无需人工干预。因此,程序应用输入数据模块 和初始化程序模块。
1. 程序框图
Y (s) b0 s m bm1 s bm G( s) U (s) a0 s n an1 s an
2. 程序语句如下: (1)输入数据
2. 程序语句如下: (2)形成开、闭环系数阵
2. 程序语句如下: (3)运算求解
2. 程序语句如下: (4)输出结果
第二节
面向系统结构图的数字仿真
控制系统计算机仿真是建立在控制系统数学模型 基础上的一门技术,自动控制系统的种类繁多, 为通过仿真手段进行分析和设计,就要借助于 系统的数学模型。现行控制系统的数学模型的 表示形式有微分方程、传递函数、状态方程、 结构图形式等。实际工程中常常给出的是结构 图形式的数学模型,对此类形式的系统进行仿 真分析,自动求解各环节变量的动态变化情况, 从而得到关于系统输出各变量的有关数据、曲 线等,可方便的对系统进行分析和设计。 本节将对控制系统的典型结构形式二次模型化, 并采用数值积分算法得到系统相应的仿真结果。

实验四 面向系统结构图的仿真验证

实验四 面向系统结构图的仿真验证

实验四面向系统结构图的仿真验证(2学时)
一.实验目的:
从控制系统常见的结构形式拓扑描述入手,掌握面向连续控制系统结构图的计算机仿真方法及其程序实现。

二.实验原理及预习内容:
1.原理:任何复杂连接结构的线性控制系统都是由一些简单的线性环节组合而成,按照它们之间相互连接的拓扑关系列出连接矩阵,可以得到能清晰地描述复杂连接系统的仿真模型。

2.预习内容:利用连接矩阵进行复杂控制系统建模的方法和原理。

三.实验步骤:
1.对具有复杂连接闭环结构形式的系统,可用一阶环节作为典型环节,再运用拓扑描述中联接矩阵的表达方法得出此类系统结构的仿真模型;
2.再通过数值积分法求取各环节的动态响应。

注意:所确定的典型环节中,参数0
B ,以保证系统仿真求解的基本条件。

i
四.实验内容:
习题3-2.设典型闭环结构控制系统如下图所示,当阶跃输入幅值R=20时,用面向系统结构图的数字仿真法sp3-1.m求取系统的输出响应。

五.实验要求:
1.列出复杂连接闭环系统的仿真程序框图;
2.列出MATLAB程序实现的主要程序,包括输入数据、形成闭环各系统阵、数值积分求解、以及输出结果;
3.注意:为理解程序含义,应给出每个语句的执行结果,并在word文档中写出。

连续系统的建模设计与仿真

连续系统的建模设计与仿真

图5-2

相似理论在工程上很有用处,在处理复杂的非电系统时,如果能将其转化成相似
的电系统,则更容易通过实验进行研究。元件的更换、参数的改变及测量都很方便,且
可应用电路理论对系统进行分析和处理。

另外,尽管各种物理系统的结构不一样,输
入量、输出量以及中间变量可以是各种不同的物理 量,但它们的运动方程却有下列几点共同之处。
图5-3
• 记系统的输入量为外力x,输出量为质量m的位移y。我们的目标是求系统输出量y与输 入量z之间所满足的关系式,即系统的微分方程。取质量m为分离体,根据牛顿第二定 律有:
(5-2)
(5-3)
• 以上推出的各种系统的运动方程(数学模型),尽管它们的物理模型不同,但却可能具 有相同的数学模型,这种具有相同的微分形式的系统称为相似系统。在微分方程中占 据相同位置的物理量称为相似量,比较方程式(5—1)和方程式(5—3)可以看出它们具 有相同的数学模型,是相似系统。
1.状态变量图 系统传递函数是描述线性定常(时不变)系统
输入与输出间微分关系的另一种方法。为便于实现 计算机数字仿真,应将传递函数变换为状态空间模 型。由系统传递函数导出系统状态空间模型的方法 是先将传递函数用状态变量图描述,然后根据状态 变量图中积分器的输出确定系统状态变量及状态方 程。
(图5-5(b))
• (4)消去中间变量,最后得到只包含系统输入量和输出 量的方程,这就是系统的微分方程。
例5-1 图5-2
图5-2 (5-1)
例5-2 机械平移系统。
设有一个弹簧一质量一阻尼器系统 ,如图5—3所示。阻尼器是一种产生黏 性摩擦或阻尼的装置。它由活塞和充满 油液的缸体组成,活塞杆与缸体之间的 任何相对运动都将受到油液的阻滞,因 为这时油液必须从活塞的一端经过活塞 周围的间隙(或通过活塞上的专用小孔) 而流到活塞的另一端。阻尼器主要用来 吸收系统的能量,被阻尼器吸收的能量 转变为热量而散失掉,而阻尼器本身不 储藏任何动能或热能。

第五章第二节面向系统结构图的数字仿真

第五章第二节面向系统结构图的数字仿真

AX BU X Y CX
(式2)
由图一可知,控制量U=R-Ky,带入式2得
AX BU X AX B (r ky) AX B (r kCX ) ( A BkC) X Br Ab X Br
(式3)
式3即为系统的闭环状态方程,也就是系统的仿真模型。 其中
式中
A
A 0 C 0
1
A2
A n n
0
nBLeabharlann B 01B2
B n n
0
n
1
C
C2
C n n
0
n
D D 0
1
D2
D n n
0
n
A,B,C,D都是 n n 维的 y u
Ci Dis Ai Bis
(i 1,2,, n)
(2.9 - 1)
利用这个典型环节,只要改变系数便可组成其它常 用环节: 积分环节
K s
对应于 Ai 0, Bi 1, Ci K , Di 0
比例 积分环节 K 1s K 2 对应于 Ai 0, Bi 1, Ci K 2, Di K 1
第二节
面向系统结构图的数字仿真
控制系统计算机仿真是建立在控制系统数学模型 基础上的一门技术,自动控制系统的种类繁多, 为通过仿真手段进行分析和设计,就要借助于 系统的数学模型。现行控制系统的数学模型的 表示形式有微分方程、传递函数、状态方程、 结构图形式等。实际工程中常常给出的是结构 图形式的数学模型,对此类形式的系统进行仿 真分析,自动求解各环节变量的动态变化情况, 从而得到关于系统输出各变量的有关数据、曲 线等,可方便的对系统进行分析和设计。 本节将对控制系统的典型结构形式二次模型化, 并采用数值积分算法得到系统相应的仿真结果。

实验一面向微分方程的数值积分法仿真

实验一面向微分方程的数值积分法仿真

实验一面向微分方程的数值积分法仿真一、实验目的1•掌握数值积分法的基本概念、原理及应用;2•用龙格-库塔法解算微分方程,增加编写仿真程序的能力;3•分析数值积分算法的计算步长与计算精度、速度、稳定性的关系; 4.对数值算法中的“病态问题”进行研究。

二、实验内容1、已知系统微分方程及初值条件y =t y, y(0) =1取步长h .0.1 ,试分别用欧拉方程法和RK4法求t =2h时的y值,y(t) =2& -t -1比较(将三个解绘于同一坐标中,且用数值进行比较因。

(①编程完成;②选用MATLAB ode函数完成。

)程序代码如下:t0=0;tf=2;h=0.1;y1=1;y2=1;y3=1;t1=0;t2=0;t3=0n=rou nd(tf-t0)/h;for i=1: ny1(i+1)=y1(i)+h*(2*h+y1(i)); t1=[t1,t1(i)+h];endfor i=1: nk1=y2(i)+t2(i);k2=y2(i)+h*k1/2+t2(i)+h/2;k3=y2(i)+h*k2/2+t2(i)+h/2; k4=y2(i)+h*k3+t2(i)+h;y2(i+1)=y2(i)+h*(k1+2*k2+2*k3+k4)/6;t2=[t2,t2(i)+h];endfor i=1: ny3(i+1)=2*exp(t3(i))-t3(i)-1;t3=[t3,t3(i)+h];endplot(t1,y1, 'r' ,t2,y2, 'g' ,t3,y3, 'k')实验结果如下;并将求得的值与解析解),说明造成差异的原1210「 ' -8 ■ / . -6 - / -4「-2 - -0 1 1 1 10 0.5 1 1.5 2 2.5分析:红线为用欧拉法得到的结果,绿线为用四阶龙格一库塔法得到的结果,蓝线为根据解析方程得到的结果。

其差异原因主要有两个:1、二者的方法不同,欧拉法是根据一阶微分方程计算得到的,龙格一库塔法是根据四阶微分方程得到的;2、由于步长取为0.1,所以得到的图像与解析解之间存在差异,若将步长取小,则得到的解将更靠近解析解。

“双闭环控制直流电动机调速系统”数字仿真实验

“双闭环控制直流电动机调速系统”数字仿真实验

“双闭环控制直流电动机调速系统”数字仿真实验24、SIMULINK建模我们借助SIMULINK,根据上节理论计算得到的参数,可得双闭环调速系统的动态结构图如下所示:图7 双闭环调速系统的动态结构图(1)系统动态结构的simulink建模①启动计算机,进入MATLAB系统检查计算机电源是否已经连接,插座开关是否打开,确定计算机已接通,按下计算机电压按钮,打开显示器开关,启动计算机。

打开Windows开始菜单,选择程序,选择MATAB6.5.1,选择并点击MATAB6.5.1,启动MATAB程序,如图8,点击后得到下图9:图8选择MATAB程序图9 MATAB6.5.1界面点击smulink 中的continuous,选择transfor Fc n(传递函数)就可以编辑系统的传递函数模型了,如图10。

图10 smulink界面②系统设置选择smulink界面左上角的白色图标既建立了一个新的simulink模型,系统地仿真与验证将在这个新模型中完成,可以看到在simulink目录下还有很多的子目录,里面有许多我们这个仿真实验中要用的模块,这里不再一一介绍,自介绍最重要的传递函数模块的设置,其他所需模块参数的摄制过程与之类似。

将transfor Fc n(传递函数)模块用鼠标左键拖入新模型后双击transfor Fc n(传递函数)模块得到图11,开始编辑此模块的属性。

图11参数表与模型建立参数对话栏第一和第二项就是我们需要设置的传递函数的分子与分母,如我们需要设置电流环的控制器的传递函数:0.01810.0181()0.2920.0180.062ACR s s W s s s++=⋅=,这在对话栏的第一栏写如:[0.018 1],第二栏为:[0.062 0]。

点击OK ,参数设置完成。

如图12。

图12传递函数参数设置设置完所有模块的参数后将模块连接起来既得到图7所示的系统仿真模型。

在这里需要注意的是,当我们按照理论设计的仿真模型得到的实验波形与理想的波形有很大的出入。

计算机与CAD仿真第4章连续系统按环节离散化的数字仿真

计算机与CAD仿真第4章连续系统按环节离散化的数字仿真

xk 1 Gxk Hu k uk yk 1 c x d uk 1
a T b Ge T a a (T ) c T c d (1 e b ) H e b b a 0 T a a (T ) c T c d 2 (aT b be b ) e b b a 0 ad c 1 cb d d b
表4-2 非线性环节标志
标 志 FZ=0
FZ=1 FZ=2
说 明 典型环节前后均无非线性环节
典型环节前有饱和非线性环节,应修正其输入u 典型环节前有死区非线性环节,应修正其输入u
FZ=3
FZ=4 FZ=5
典型环节前有滞环非线性环节,应修正其输入u 典型环节前有继电器非线性环节,应修正其输 入u 典型环节后有饱和非线性环节,应修正其输出x 典型环节后有死区非线性环节,应修正其输出x
sX(s) X(0) AX(s) BU(s)
或者:
( sI A) X( s) X(0) BU( s)
sI A1
1
上式两边左乘
,可得
1
X(s) (sI A) X(0) (sI A) BU(s)
令: L1[(sI A) 1 ] Φ(t ) ,称为系统状态转移矩阵。
x[(k 1)T ] Gx(kT ) Hu (kT ) u(kT )
G e AT
T
式中:
H
e A(T t ) Bdt
0
T
te A(T t ) Bdt
0
2. 关于离散相似法的几点说明及结论
1. 它是一个递推算法(但不是数值积分法)。
2.G, H ,

建模与仿真及其医学应用

建模与仿真及其医学应用

建模与仿真及其医学应用》实验讲义天津医科大学生物医学工程系2004 年实验一 系统建模的MATLAB 实现一、 实验目的:1 学习MATLA 基本知识。

2. 掌握数学模型的MATLA 实现:时域模型、状态空间模型和零极点 模型。

3. 学习用MATLA 实现系统外部模型到内部模型的转换。

4. 学习用MATLA 实现系统模型的连接:串联、并联、反馈连接。

5. 了解模型降阶的MATLA 实现。

二、 实验内容1. 系统的实现、外部模型到内部模型的转换2 (1)给定连续系统的传递函数G(s) (s 8)(s 22S 5),利用 (2 s 3)(3s 4s 13) MATLA 建立传递函数模型,微分方程,并转换为状态空间模型(2)已知某系统的状态方程的系数矩阵为:利用MATLA 建立状态空间模型,并将其转换为传递函数模型和零极 点模型MATLA 转换为传递函数模型和状态空间模型。

2. 系统的离散、连接、降阶2(1)给定连续系统的传递函数G(s) (s 8)(s 22s 5),将该连 (2s 3)(3s 2 4s 13) 续系统的传递函数用零阶重构器和一阶重构器转换为离散型传递函 数,抽样时间T=1秒。

⑶已知系统的零极点传递函数为G(s)(s 2豐31)(s 4),利用(2)该系统与系统H(s) 丁」分别①串联②并联③负反馈连s26s 5接,求出组成的新系统的传递函数模型。

(3)将串联组成的新系统进行降阶处理,求出降阶后系统的模型,并用plot图形比较降阶前后系统的阶跃响应。

要求:将以上过程用MATLABS程(M文件)实现,运行输出结果。

三、实验说明一关于系统建模的主要MATLA函数1 •建立传递函数模型:tf函数:格式:sys=tf(num,den)num=[b m,b m-i, ...... ,b]分子多项式系数den=[ai,a n-1, ......... ,a o]分母多项式系数2 •建立状态空间模型:ss函数:格式:sys=ss(a,b,c,d) %a,b,c,d为状态方程系数矩阵sys=ss(a,b,c,d,T)沪生离散时间状态空间模型3•建立零极点模型的函数:zpk格式:sys=zpk(z,p,k)4 •模型转换函数:tf2ss tf2zp ss2tf ss2zp zp2tf zp2ss%2为to的意思格式:[a,b,c,d]=tf2ss(num,den)[z,p,k]=tf2zp( nu m,de n)[n um,de n]=ss2tf(a,b,c,d,iu) %iu 指定是哪个输入[z,p,k]=ss2zp(a,b,c,d,iu)][num,den]=zp2tf(z,p,k)[a,b,c,d]=zp2ss(z,p,k)5.模型的连接串联:sys=series(sys1,sys2)并联:sys=parallel(sys1,sys2)反馈连接:sys=feedback(sys1,sys2,sign)%负反馈时sign可忽略;正反馈时为1 。

[工学]第四章 面向结构图的数字仿真法精品资料

[工学]第四章 面向结构图的数字仿真法精品资料


(4.1.2)
根据(2.4.9)式可得
(T ) e At 1
u
a0
x
1y sx
m (T )
T e A(T t) Bd
0
T
0a0d a0T
ˆm (T )
T e A(T t) Bd
0
T
Bd
0

a0T 2
图4.1.1 积分环节结构图
三、仿真算例及分析
用该程序求某四阶系统(结构图见图4.2.3)在阶 跃函数作用下的过渡过程。
y0
u1 s b1 y1 u2 1 y2 u3 a3 y3 u4 a4
y4

s a1
s
s a3
s a4
图4.2.3 四阶系统结构图
首先,确定典型环节类型和环节编号,本例从左到 右顺序排号 ,第一块类型号 H (1) 3,第二块类型 号H(2) 0,第三块类型号 H(3) 2,第四块类型号H(4) 2 根据图4.2.3所示可写出连接矩阵为
递函数,则很容易将其离散化,各个环节的输入―输
出关系为
u1 1
u2


0
u3 0
u4

0
0 1 0 0
0 0 1 1
1 0 0 0
0
1
0
0

y0

y1

y2

y3

y4
(4.2.3)
U WY
(4.2.4)
4.2 结构图离散相似法仿真
由前述可知,对于H (I )
=0和H (I )=1两种典型环 节,计算状态变量的公

面向结构图的连续系统数字仿真

面向结构图的连续系统数字仿真

课程设计面向结构图的连续系统数题目字仿真学院计算机科学与信息工程学院专业自动化班级2010级2班学生姓名小指导教师吴诗贤2013 年12 月20 日面向结构图的连续系统数字仿真姓名:陶园班级:10自动化3班学号:2010133330摘要根据自动控制系统中面向结构图的数字仿真的基本思想,探讨了仿真过程中典型环节的规范性、系统的连接矩阵、仿真求解、程序框图问题,并应用到实际的范例当中,并分析了结果总结了相关特点和相关结论。

自动控制系统常常是由许多环节组成的,要应用数字仿真方法对系统进行分析和研究,首先需要求出总的传递函数,再转化为状态空间表达式的形式,然后对其求解。

当改变系统某一环节的参数时,尤其是要改变小闭环中某一环节的参数时,以上整个过程又需要重新计算,这对研究对象参数变化对整个控制系统的影响是十分不便的,为了克服这些缺点,同时大多数从事自动化工作的科技人员更习惯于用结构图的形式来分析和研究控制系统,为此产生了面向结构图的仿真方法。

该方法只需将各个环节的参数及各环节间的连接方式输入计算机,仿真程序就能自动求出闭环系统的状态空间表达式。

本课程设计主要介绍典型环节参数和连接关系构成闭环系统的状态方程的方法,而动态响应的计算,仍采用四阶龙格-库塔法。

这种方法具有便于研究各个环节参数对系统的影响,并可以得到每个环节的动态响应,以及对多输入输出系统的进行仿真的有点。

关键字:结构图;典型环节;连接矩阵;数字仿真;1、设计任务已知某一系统结构如下图所示,编写matlab程序求a分别为2,4,6,8,10,12时输出量y的动态响应。

图12、需求分析及概要设计2.1 需求分析根据上述设计任务我们可以基本明确在我们课程设计当中应该明确以下几个方面:✓熟悉在数字计算机仿真技术中常用的四阶龙格-库塔算法。

✓明确在面向结构图的连续系统数字仿真,典型环节及其系数矩阵确定。

✓明确各连接矩阵的确定。

✓能够熟练运用MATLAB仿真软件。

哈尔滨工业大学《系统建模与仿真》系统建模与仿真-第三章-连续系统仿真方法

哈尔滨工业大学《系统建模与仿真》系统建模与仿真-第三章-连续系统仿真方法

本章目次
3.1离散化原理及要求
3.4纯延迟环节仿真模型
3.2连续系统仿真算法
3.5采样控制系统仿真方法 3.6间断特性仿真方法
3.3连续系统实时仿真算法 3.7 病态系统仿真方法
3.1 离散化原理及要求
在计算机上仿真面临的问题:数字计算机的数值及时间均具有 离散性,而被仿真系统的数值及时间均具有连续性。后者如何用 前者来实现?
t
x(t) exp( A t)x(0) exp( A (t ))Bu( )d 0
x(n1)T (T ) x(nT ) u m(T ) (nT )
其中:(T ) exp( A T ),
T
m(T ) exp( A (T ))Bd 0
(2)步长 h 在整个计算中并不要求固定,可以根据精度要求改变,
但是在一步中算若干个系数 Ki (俗称龙格—库塔系数),则必须
用同一个步长 h。
3.2 连续系统仿真算法
3.2.2 非线性连续系统仿真算法—龙格库塔法
龙格库塔法特点
(3)龙格—库塔法的精度取决于步长 h 的大小及方法的阶次。许 多计算实例表明:为达到相同的精度,四阶方法的 h 可以比二 阶方法的h 大10倍,而四阶方法的每步计算量仅比二阶方法大1
令(t) L1 (sI A)1 ,则
其中:
x(s) L (t) x(0) L (t) Bu(s)
t
x(t) (t) x(0) (t )Bu( )d 0
(t) exp( At)为状态转移矩阵,则得线性状态方程的解析解:
数字计算机:从根本意义上讲,所进行的计算仅仅是“数字”计 算,它表示数值的精度受限于字长,这将引入舍入误差;另一方 面,这种计算是按指令一步一步进行的,因而,还必须将时间离 散化,这样就只能得到离散时间点上系统的(离散数值)状态 (性能)。

仿真技术实验程序及思考题解答(仅供参考)

仿真技术实验程序及思考题解答(仅供参考)

实验一 连续系统的数字仿真一、实验目的1. 熟悉Matlab 中m 文件的编写;2. 掌握龙格-库塔法的基本原理。

二、实验设备计算机、MATLAB 软件三、实验内容假设单变量系统如图所示。

试根据四阶龙格-库塔法,求系统输出y 的动态响应。

1.首先把原系统转化为状态空间表达式:⎪⎩⎪⎨⎧=+=•CXy bu AX X ,根据四阶龙格-库塔公式,可得到: ⎪⎩⎪⎨⎧=++++=+++1143211)22(6k k k k CX y K K K K h X X (1) 其中: ⎪⎪⎪⎩⎪⎪⎪⎨⎧+++=+++=+++=+=)()()2()2()2()2()(3423121h t bu hK X A K h t bu K h X A K h t bu K h X A K t bu AX K k k k k k k k k (2) 根据(1)、(2)式编写仿真程序。

2.在Simulink 环境下重新对上述系统进行仿真,并和1中结果进行比较。

四、实验结果及分析要求给出系统输出响应曲线,并分析计算步长对龙格-库塔法的影响。

计算步长对龙格-库塔法的影响:单从每一步看,步长越小,截断误差就越小,但随着步长的缩小,在一定求解范围内所要完成的步数就增加,不但引起计算量的增大,而且可能导致舍入误差严重积累,因此同积分的数值计算一样,微分方程的解法也有选择步长的问题。

源程序:r=5;numo=[1];deno=[1 4 8 5];numh=1;denh=1;[num,den]=feedback(numo,deno,numh,denh);[A,b,C,d]=tf2ss(num,den);Tf=input('仿真时间 Tf= ');h=input('计算步长 h=');x=[zeros(length(A),1)];y=0;t=0;for i=1:Tf/h;K2=A*(x+h*K1/2)+b*r;K3=A*(x+h*K2/2)+b*r;K4=A*(x+h*K3)+b*r;x=x+h*(K1+2*K2+2*K3+K4)/6;y=[y;C*x];t=[t;t(i)+h];endplot(t,y)Tf=5 h=0.02五、思考题1.试说明四阶龙格-库塔法与计算步长关系,它与欧拉法有何区别。

华东交通大学 教材 MATLAB Simulink与控制系统仿真 王正林(第3版) 电子工业出版社matlab第1章

华东交通大学 教材 MATLAB Simulink与控制系统仿真 王正林(第3版) 电子工业出版社matlab第1章
11
二、Simulink适合控制系统仿真的特点
Simulink是matlab重要软件包,用于动态系统仿真。
适用于连续系统和离散系统,也适用于线性系统和非线性系统。
它采用系统模块直观地描述系统典型环节,可方便地建立系统模 型而不需要花较多时间编程。 由于这些特点,Simulink广泛流行,是最受欢迎的仿真软件。
仿真的函数,进行系统仿真。
(2)直接在Simulink窗口进行面向系统结构方框图的系统仿真
这两种方式可解决任意复杂系统的动态仿真问题。
10
一、MATLAB适合控制系统仿真的特点
MATLAB具有以下主要特点,非常适合于控制系统的仿真 (1)强大的运算功能:向量、数组、矩阵、复数运算、 求解高次微分方程、常微分方程。 (2)特殊功能的TOOLBOX工具箱:算法包 (3)高效的编程效率:库函数 (4)简单易学的编程语言:脚本语言 (5)方便友好的编程环境
(2)安全
(3)快捷
(4)具有优化设计和预测的特殊功能
7
二、控制系统仿真

控制系统仿真是系统仿真的一个重要分支,它是一门涉及自动 控制理论、计算数学、计算机技术、系统辨识、控制工程以及 系统科学的综合性新型学科。 控制系统仿真是以控制系统模型为基础,采用数学模型替代实 际控制系统,以计算机为工具,对控制系统进行实验、分析、 评估及预测研究的一种技术与方法。 控制系统仿真通过控制系统的数学模型和计算方法,编写程序 运算语句,使之能自动求解各环节变量的动态变化情况,得到 关于系统输出和所需中间各变量的有关数据、曲线等,以实现 对控制系统性能指标的分析与设计。
13

寻求对真实过程的认识,它所遵循的基本原则是相似性原理。
2
一、计算机仿真基本概念

系统仿真精度与置信度评估方法研究

系统仿真精度与置信度评估方法研究

研究的重要内容,但这些理论和方法在我国鱼雷武器系统仿真中
的应用尚缺乏系统的、综合的研究,故而在“九五”期间被列入
总装备部跨行业予研课题。
1.2 研究的主要内容 1.2.1仿真精度分析研究的内容和方法
系统仿真精度分析的主要内容为系统仿真误差分析。系统仿 真误差源主要包括仿真模型误差、仿真方法及计算机计算误差和 仿真硬件误差等。
数学模型(或数据库)复现的准确性衡量,通过与“标准”的或 者确认有效的模型相比较,以获得对模型的确信。
模型的验证一通过与硬件试验数据或实际运行数据相比较,确
保模型足以代表物理的真实性。
模型的确认一由管理部门根据专家评审和经验,证明模型在特
定的应用领域使用是可接受的一种过程。 系统仿真可信性评估内容主要包括如下既相互区别又相互联系
(1)仿真模型误差 模型是仿真的基础,涉及到多种建模和验模方法。由于在建 立系统数学模型时会忽略掉一些次要因素和不可观察的因素,且 对系统作了各种理论假设和简化处理,从而得到的只是个简化模 型。仿真模型是建立在这个简化的数学模型基础上的,所以系统 仿真模型实际上是对于实际系统的二次简化模型。在这简化过程 中就不可避免地引入了各种误差。另外,被用于建模的数据受随 机噪声的污染,且数据长度有限,加之各种测试及采样误差,从 而给模型带来各种计算误差。 f21仿真方法及算法误差
Modeling.As important part of simulation theory,the Theory of
System Simulation Accuracy and Confidence level Evaluation
(TSSAC)is a chief technical problem that should be answered in the

计算机仿真题库

计算机仿真题库

仿真是指用模型(物理模型或数学模型)代替实际的系统进行实验和研究,其遵循原理 抽象、相似性原理的原则,相似性原理包括几何相似、性能相似、环境相似等。 40. 数据插值和曲线拟合的区别?
数据插值是研究如何平滑的估算出基准数据之间的其他点的函数值,所以插值所得曲线 必定穿过基准数据;而曲线拟合研究的是如何寻找平滑曲线以最好的表现带噪声的测量数据, 但不要求你和曲线穿过这些测量数据点。 41. 数值运算与符号运算的区别?
21. Matlab 中提供的三种基本逻辑运算为:与(&)、或( | )、非( ~ )。
22. 计算机仿真的三要素为:系统、模型、计算机。
23. 简述龙格-库塔法的基本思想。
用几个点上的函数值的线性组合来代替泰勒展开式中的各阶导数,然后按泰勒级数展开
确定其中的系数,这样既可以避免计算高阶导数,又能提高积分的精度及截断误差阶数。
t=(0:20)/20; r=sin(2*pi*t)+2; [x,y,z]=cylinder(r,40); cx=imread('flowers.tif');
进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运 算规则,如矩阵 a 与 b 相乘(a*b)时必须满足 a 的列数等于 b 的行数。在加、减运算时数 组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即 为数组运算,如 a*b 为矩阵乘,a.*b 为数组乘。 36. 在 Matlab 中什么是图形句柄?图形句柄有什么用途?
在连续系统的数字仿真中,选择仿真算法一般会考虑求解精度、速度、数值稳定性、自 启动能力、步长等。常用的仿真方法有:欧拉法、四阶龙格-库塔法、离散相似法等。欧拉 法属于自启动算法,适用于线性系统和非线性系统,方法简单,但误差的积累导致求解精度 降低。四阶龙格库塔法也属于自启动算法,适用于线性和非线性系统,支持单步长和可变步 长,求解速度和精度较高,但仿真时间较长。离散相似法一般用于状态方程,按环节离散相 似法可用于非线性系统,按系统离散相似法仅限于线性系统。 31. 什么是实时仿真?什么情况下需要进行实时仿真?它在算法上有什么要求?

计算机仿真

计算机仿真

计算机仿真技术✹计算机仿真技术是一门利用计算机软件模拟实际环境进行科学实验的技术。

✹它是以数学理论为基础,以计算机和各种物理设施为设备工具,利用系统模型对实际的或设想的系统进行仿真研究的一门综合技术。

✹本课程主要通过对建模方法与原理、仿真算法分析及具体系统的仿真来介绍计算机仿真技术的有关内容,所针对的系统主要是工程中的自动控制系统。

✹仿真就是用模型(物理模型或数学模型)代替实际系统进行实验和研究。

它所遵循的基本原则是相似原理,即几何相似、环境相似和性能相似等。

✹仿真可以分为物理仿真、数学仿真和混合仿真。

计算机仿真技术✹第一章概论✹第二章系统建模的基本方法与模型处理技术✹第三章连续系统的数字仿真✹第四章离散事件系统仿真✹第五章计算机仿真软件§1.1 计算机仿真的基本概念系统仿真是指通过系统模型的试验去研究一个已经存在的、或者是正在研究设计中的系统的具体过程。

计算机仿真就是以计算机为工具,用仿真理论来研究系统。

一、系统系统是指具有某些特定功能、相互联系、相互作用的元素的集合。

它具有两个基本特征:整体性和相关性。

整体性是指系统作为一个整体存在而表现出某项特定的功能,它是不可分割的。

相关性是指系统的各个部分、元素之间是相互联系的,存在物质、能量与信息的交换。

对于任何系统的研究,都必须从以下三个方面加以考虑:1.实体:组成系统的元素,对象;2.属性:实体的特性(状态和参数);3.活动:系统由一个状态到另一个状态的变化过程。

以图1.1(P2 图1.1.)为例:①系统的实体为:R,L,C和激励e(t);②系统的属性为:R,L,C,e(t)及电荷q,电路dq/dt的数值;③系统的活动为:电振荡(随时间变化)。

二、系统分类1.静态系统和动态系统①静态系统:是被视为相对不变的系统。

②动态系统:它的状态是可以改变的2.确定系统和随机系统①确定系统:一个系统的每一个连续状态都是唯一确定的;②随机系统:一个系统在指定的条件和活动下,从一种状态转换另一种状态不是确定的,而是带有一定的随机性,也就是相同的输入经过系统的转化过程会出现不同的输出结果时,该系统为随机系统。

MATLAB求解传递函数

MATLAB求解传递函数

系统仿真课时作业学院名称:机械与汽车工程学院专业班级:机械设计制造及其自动化11 -5班姓名:陈飞学号:20110538教师:翟华一、离散相似法1、设计思想是将系统的连续时间状态方程化为离散时间状态方程进行数值计算,它的优点是状态转移矩阵可一次求出,因而计算量较小。

2、在实际系统中,通常由多环节多回路组成,若还用类似上述简单系统的处理方法,只对系统整体进行一次离散化处理,则存在下列问题:①需要给出复杂系统的整体传递函数,高阶微分方程或状态空间表达式,非常烦琐;②系统环节数目越多,系统阶次越高,其状态方程A,B矩阵维数越大,其的计算更加复杂。

③不易分析系统中某个环节的参数变化对系统动态响应的影响,也不能观察系统内部变量的变化情况。

4、为克服系统整体一次离散化给复杂系统仿真带来的问题,可以采取这样一种方法,即对构成系统所有典型环节分别进行一次离散化处理,并用离散状态空间表达式表示出来。

所以,只要预先一次计算出各典型环节的离散状态方程系数矩阵,并用描述各环节间和各环节与控制作用间连接关系的连接矩阵求得各环节的输入量,就可将系统所有环节的动态响应都一一求出,这就是面向结构图的离散相似法数字仿真的基本思想。

5、离散相似法是按环节离散化的,每计算一个步长、每个环节都独立的依次输入计算出输出结果,因而非线性环节很容易包含进去,故此种方法可用来对带有非线性环节的连续系统进行仿真。

6、离散相似法的主要思想:离散相似法是指将一个连续系统进行离散化处理,然后求得与它等价的离散模型(差分方程)的方法。

主要应用于连续系统建模与仿真领域中。

从连续系统离散化的角度出发,建立连续系统模型的等价离散化模型,并用采样系统的理论和方法介绍另一种常用的仿真算法。

这种算法使得连续系统在进行(虚拟的)离散化处理后仍保持与原系统“相似”,故称之为离散相似算法。

二、用MATLAB 中的simulink 工具求解以下传递函数,并画出相关时域图形。

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

课程设计面向结构图的连续系统数题目字仿真学院计算机科学与信息工程学院专业自动化班级2010级2班学生姓名小指导教师吴诗贤2013 年12 月20 日面向结构图的连续系统数字仿真姓名:陶园班级:10自动化3班学号:2010133330摘要根据自动控制系统中面向结构图的数字仿真的基本思想,探讨了仿真过程中典型环节的规范性、系统的连接矩阵、仿真求解、程序框图问题,并应用到实际的范例当中,并分析了结果总结了相关特点和相关结论。

自动控制系统常常是由许多环节组成的,要应用数字仿真方法对系统进行分析和研究,首先需要求出总的传递函数,再转化为状态空间表达式的形式,然后对其求解。

当改变系统某一环节的参数时,尤其是要改变小闭环中某一环节的参数时,以上整个过程又需要重新计算,这对研究对象参数变化对整个控制系统的影响是十分不便的,为了克服这些缺点,同时大多数从事自动化工作的科技人员更习惯于用结构图的形式来分析和研究控制系统,为此产生了面向结构图的仿真方法。

该方法只需将各个环节的参数及各环节间的连接方式输入计算机,仿真程序就能自动求出闭环系统的状态空间表达式。

本课程设计主要介绍典型环节参数和连接关系构成闭环系统的状态方程的方法,而动态响应的计算,仍采用四阶龙格-库塔法。

这种方法具有便于研究各个环节参数对系统的影响,并可以得到每个环节的动态响应,以及对多输入输出系统的进行仿真的有点。

关键字:结构图;典型环节;连接矩阵;数字仿真;1、设计任务已知某一系统结构如下图所示,编写matlab程序求a分别为2,4,6,8,10,12时输出量y的动态响应。

图12、需求分析及概要设计2.1 需求分析根据上述设计任务我们可以基本明确在我们课程设计当中应该明确以下几个方面:✓熟悉在数字计算机仿真技术中常用的四阶龙格-库塔算法。

✓明确在面向结构图的连续系统数字仿真,典型环节及其系数矩阵确定。

✓明确各连接矩阵的确定。

✓能够熟练运用MATLAB仿真软件。

2.2 设计思路自动控制系统常常是由许多环节组成的,要应用数字仿真方法对系统进行分析和研究,首先需要求出总的传递函数,再转化为状态空间表达式的形式,然后对其求解。

当改变系统某一环节的参数时,尤其是要改变小闭环中某一环节的参数时,以上整个过程又需要重新计算,这对研究对象参数变化对整个控制系统的影响是十分不便的,为了克服这些缺点,同时大多数从事自动化工作的科技人员更习惯于用结构图的形式来分析和研究控制系统,为此产生了面向结构图的仿真方法。

该方法只需将各个环节的参数及各环节间的连接方式输入计算机,仿真程序就能自动求出闭环系统的状态空间表达式。

以下是我们课程设计的主要设计思图22.3 连接矩阵确定:一个控制系统用典型环节来描述时,必须用连接矩阵把各个典型环节连接起来。

所谓连接矩阵,就是用矩阵的形式表示各个典型环节之间的关系。

以下是我们课程设计当中连接矩阵确定的分析过程:图3由上图我们可以得出各环节输入与各环节输出间的关系,以及系统输出与各环节输出间的关系分别为132132u x ru x u x ⎧=-+⎪=⎨⎪=⎩和3y x =。

由此可得各个环节的输入,以及系统输出的关系表达式为:112233001110000100u x u x r u x ⎡⎤⎡⎤⎡⎤⎡⎤-⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦,123001x y x x ⎡⎤⎢⎥⎡⎤=⎢⎥⎣⎦⎢⎥⎣⎦根据以上两式和各典型环节的系数值,可得如下链接矩阵和系数矩阵:001100010W ⎡⎤-⎢⎥=⎢⎥⎢⎥⎣⎦, 0100W ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 001c W ⎡⎤=⎣⎦1111222233330.110.510110111a b c d P a b c d a a b c d ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦。

3、算法实现3.1 面向结构图的连续系统数字仿真流程框图在本次课程设计当中,我们通过分析题目随后开始我们的程序编写,我们发现在编写程序上,变化数据的输入上我们能够采用两种不同的方法,一种是把变化的数据通过人为的单个输入到程序中,然后逐一的得出我们对应的仿真结果。

另外一种是通过循环控制的方式,把我们需要改变的数据加入到程序当中,并且把不同的变量对应的仿真结果反映到同一张图片当中。

于是,这里我们这里就具有两个不同的程序流程图。

3.1.1 单个输入程序流程图:图43.1.2 利用循环控制实现a=2,4,6,8,10,12的仿真分析的流程图:图53.2 程序代码在本次课程设计当中,我们通过分析题目随后开始我们的程序编写,我们发现在编写程序上,变化数据的输入上我们能够采用两种不同的方法,一种是把变化的数据通过人为的单个输入到程序中,然后逐一的得出我们对应的仿真结果。

另外一种是通过循环控制的方式,把我们需要改变的数据加入到程序当中,并且把不同的变量对应的仿真结果反映到同一张图片当中。

于是,这里我们这里就具有两个不同的程序代码。

3.2.1 单个输入代码段r=10; %系统输入型号a=input('输入Ⅲ环节变量a='); %'输入Ⅲ环节变量aP=[0.1 1 0.5 1;0 1 1 0;1 1 a 1]; %各个典型环节系数矩阵W=[0 0 -1;1 0 0;0 1 0];W0=[1;0;0];Wc=[0 0 1]; %连接矩阵Tf=input('仿真时间Tf=');h=input('计算步长h=');A1=diag(P(:,1)); %diag 建立对角矩阵B1=diag(P(:,2));C1=diag(P(:,3));D1=diag(P(:,4));H=B1-D1*W; Q=C1*W-A1; % 求取H,Q矩阵A=inv(H)*Q; %inv逆矩阵根据公式求去AB矩阵B=inv(H)*C1*W0;x=[zeros(length(A),1)]; %产生length(A)行 1列的0矩阵y=[zeros(length(Wc(:,1)),1)];t=0;for i=1:Tf/h %龙格-库塔法求取状态方程的根K1=A*x+B*r;K2=A*(x+h*K1/2)+B*r;K3=A*(x+h*K2/2)+B*r;K4=A*(x+h*K3)+B*r;x=x+h*(K1+2*K2+2*K3+K4)/6;y=[y,Wc*x];t=[t,t(i)+h];endplot(t,y) %绘制仿真曲线以下是图片处理gtext('a=2')gtext('Tf=10')gtext('h=0.2')title('a=2时系统的仿真曲线')xlabel('时间(t)')ylabel('系统输出(y)')3.2.2 利用循环控制实现a=2,4,6,8,10,12的仿真分析代码:r=10; %系统输入型号W=[0 0 -1;1 0 0;0 1 0];W0=[1;0;0];Wc=[0 0 1]; %连接矩阵Tf=input('仿真时间Tf=');h=input('计算步长h=');for a=2:2:12P=[0.1 1 0.5 1;0 1 1 0;1 1 a 1]; %各个典型环节系数矩阵 A1=diag(P(:,1)); %diag 建立对角矩阵B1=diag(P(:,2));C1=diag(P(:,3));D1=diag(P(:,4));H=B1-D1*W; Q=C1*W-A1; % 求取H,Q矩阵A=inv(H)*Q; %inv逆矩阵根据公式求去AB矩阵B=inv(H)*C1*W0;x=[zeros(length(A),1)]; %产生length(A)行 1列的0矩阵 y=[zeros(length(Wc(:,1)),1)];t=0;for i=1:Tf/h %龙格-库塔法求取状态方程的根K1=A*x+B*r;K2=A*(x+h*K1/2)+B*r;K3=A*(x+h*K2/2)+B*r;K4=A*(x+h*K3)+B*r;x=x+h*(K1+2*K2+2*K3+K4)/6;y=[y,Wc*x];t=[t,t(i)+h];endplot(t,y) %绘制仿真曲线hold onendhold offgtext('a=2') %图片标注gtext('a=4')gtext('a=6')gtext('a=8')gtext('a=10')gtext('a=12')gtext('Tf=15')gtext('h=0.4')title('系统仿真曲线')xlabel('时间(t)')ylabel('系统输出(y)')4、调试分析过程及结果4.1 仿真和调试在仿真过程中我们采用的是Matlab软件,Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

在现在的自动控制系统的仿真上,由于该软件的方便使用,受到人们青睐。

因此我们课程设计也选用了该软件作为我们的调试和仿真的工具。

在是用Matlab软件对我们设计的系统进行调试的过程中,我们参照了很多关于程序调试的方法,其常见的调试方法有:(1)设置或清除断点:使用快捷键F12。

(2) 执行:使用快捷键F5。

(3) 单步执行:使用快捷键F10。

(4) step in:当遇见函数时,进入函数内部,使用快捷键F11。

(5) step out:执行流程跳出函数,使用快捷键Shift+F11。

(6) 执行到光标所在位置:非常遗憾这项功能没有快捷键,只能使用菜单来完成这样的功能。

(7) 观察变量或表达式的值:将鼠标放在要观察的变量上停留片刻,就会显示出变量的值,当矩阵太大时,只显示矩阵的维数。

(8) 退出调试模式:没有设置快捷键,使用菜单或者快捷按钮来完成。

由于我们是初次使用这个软件,对于程序的调试我们也没有使用更为繁琐的步奏,而是采用了常见的调试方法,直接调试。

在调试过程我们遇到了很多问题,包括语法的错误。

这主要是我们在编写程序的时候没有注意到matlab程序的变量设置问题。

最后通过查阅相关资料我们顺利的完成了程序编写,并且实现了我们想要功能。

其调试窗口(见下图):图64.2 仿真结果在本课程设计当中,为了更好的验证系统,我们选用了两组数据进行验证,分别是仿真时间Tf=10,步长h=0.2和仿真时间Tf=15,步长h=0.4。

相关文档
最新文档