系统仿真II大作业
系统建模与仿真习题2及答案

系统建模与仿真习题二及答案1. 考虑如图所示的典型反馈控制系统框图(1)假设各个子传递函数模型为66.031.05.02)(232++-+=s s s s s G ,s s s G c 610)(+=,21)(+=s s H 分别用feedback ()函数以及G*Gc/(1+G*Gc*H)(要最小实现)方法求该系统的传递函数模型。
(2) 假设系统的受控对象模型为s e s s s G 23)1(12)(-+=,控制器模型为 ss s G c 32)(+=,并假设系统是单位负反馈,分别用feedback ()函数以及G*Gc/(1+G*Gc*H)(要最小实现)方法能求出该系统的传递函数模型?如果不能,请近似该模型。
解:(1)clc;clear;G=tf([2 0 0.5],[1 -0.1 3 0.66]);Gc=tf([10 6],[1 0]);H=tf(1,[1 2]);G1=feedback(G*Gc,H)G2=G*Gc/(1+G*Gc*H)Gmin=minreal(G2)结果:Transfer function:20 s^4 + 52 s^3 + 29 s^2 + 13 s + 6s^5 + 1.9 s^4 + 22.8 s^3 + 18.66 s^2 + 6.32 s + 3Transfer function:20 s^8 + 50 s^7 + 83.8 s^6 + 179.3 s^5 + 126 s^4 + 57.54 s^3 + 26.58 s^2 + 3.96 ss^9 + 1.8 s^8 + 25.61 s^7 + 22.74 s^6 + 74.11 s^5 + 73.4 s^4 + 30.98 s^3+ 13.17 s^2 + 1.98 s Transfer function:20 s^4 + 52 s^3 + 29 s^2 + 13 s + 6s^5 + 1.9 s^4 + 22.8 s^3 + 18.66 s^2 + 6.32 s + 3(2)由于s c e s s s s G s G 232)1(3624)(*)(-++= 方法1:将s e 2-转换为近似多项式。
系统建模与仿真习题答案(forstudents)

第一章习题1-1什么是仿真?它所遵循的基本原则是什么?答:仿真是建立在控制理论,相似理论,信息处理技术和计算技术等理论基础之上的,以计算机和其他专用物理效应设备为工具,利用系统模型对真实或假想的系统进行试验,并借助专家经验知识,统计数据和信息资料对试验结果进行分析和研究,进而做出决策的一门综合性的试验性科学。
它所遵循的基本原则是相似原理。
1-2在系统分析与设计中仿真法与解析法有何区别?各有什么特点?答:解析法就是运用已掌握的理论知识对控制系统进行理论上的分析,计算。
它是一种纯物理意义上的实验分析方法,在对系统的认识过程中具有普遍意义。
由于受到理论的不完善性以及对事物认识的不全面性等因素的影响,其应用往往有很大局限性。
仿真法基于相似原理,是在模型上所进行的系统性能分析与研究的实验方法。
1-3数字仿真包括那几个要素?其关系如何?答: 通常情况下,数字仿真实验包括三个基本要素,即实际系统,数学模型与计算机。
由图可见,将实际系统抽象为数学模型,称之为一次模型化,它还涉及到系统辨识技术问题,统称为建模问题;将数学模型转化为可在计算机上运行的仿真模型,称之为二次模型化,这涉及到仿真技术问题,统称为仿真实验。
1-4为什么说模拟仿真较数字仿真精度低?其优点如何?。
答:由于受到电路元件精度的制约和容易受到外界的干扰,模拟仿真较数字仿真精度低但模拟仿真具有如下优点:(1)描述连续的物理系统的动态过程比较自然和逼真。
(2)仿真速度极快,失真小,结果可信度高。
(3)能快速求解微分方程。
模拟计算机运行时各运算器是并行工作的,模拟机的解题速度与原系统的复杂程度无关。
(4)可以灵活设置仿真试验的时间标尺,既可以进行实时仿真,也可以进行非实时仿真。
(5)易于和实物相连。
1-5什么是CAD技术?控制系统CAD可解决那些问题?答:CAD技术,即计算机辅助设计(Computer Aided Design),是将计算机高速而精确的计算能力,大容量存储和处理数据的能力与设计者的综合分析,逻辑判断以及创造性思维结合起来,用以加快设计进程,缩短设计周期,提高设计质量的技术。
基于matlab的衍射系统仿真 -

成绩:《工程光学》综合性练习二题目:基于matlab的衍射系统仿真学院精密仪器与光电子工程学院专业测控技术与仪器年级20**级班级**班姓名20**年**月综合练习大作业二一、要求3-4人组成小组,对下面给出的各题目利用Matlab等工具进行仿真。
练习结束时每组提交一份报告及仿真程序。
在报告中应注明各仿真结果所对应的参数,如屏与衍射屏间距、孔径形状尺寸等。
二、仿真题目1.改变观察屏与衍射屏间距,观察观察屏上发生的衍射逐渐由菲涅耳衍射转为夫琅和费衍射1)原理图:S点光源发出的波长lam=500纳米S点发出光线经过单缝,缝宽a;单缝到衍射屏的距离L'2)Matlab代码clear;clcl=10;%l=input('单缝到衍射屏的距离L=');a=0.2;%a=input('单缝的宽度(mm)a=');lam=500e-6;%lam=input('波长(nm)');x=-1:0.001:1;%接收屏边界y=x./sqrt(x.^2+l^2);z=a.*y/lam;I=1000*(sinc(z)).^2;%计算接受屏某点光强subplot(2,1,1)%绘制仿真图样及强度曲线image(2,x,I)colormap(gray(3))title('单缝衍射条纹')subplot(2,1,2)plot(x,I)title(光强分布)3)初始仿真图样(d=10)4)改变d之后的图样(d=1000)5)变化规律根据衍射屏以及接受屏的相对位置不同,由此产生菲涅尔衍射和夫琅禾费衍射的区别,根据我们模拟的情况得到菲涅尔衍射和夫琅禾费衍射的明显不同是夫琅禾费衍射条件下:中央有一条特别明亮的亮条纹,其宽度是其他亮条纹的两倍;其他亮条纹的宽度相等,亮度逐渐下降。
2.改变孔径形状、尺寸,观察图样变化1)原理图矩孔衍射:透镜焦距:1000mm;照射光波长:500nm;孔高:a(mm);孔宽:b(mm);圆孔衍射:圆孔直径:r(mm);照射光波长:500nm;照射光波长:500nm;2)matlab代码矩孔衍射:focallength=1000;lambda=500;a=2.0;b=2.0;resolution=64;center=(resolution)/2;A=zeros(resolution,resolution);for i=1:1:resolutionfor j=1:1:resolutionif abs(i-center)<a*10/2&abs(j-center)<b*10/2 A(j,i)=255;endendendE=ones(resolution,resolution);k=2*pi*10000/focallength/lambda;imag=sqrt(-1);for m=1:1:resolutionx=m-center;for n=1:1:resolutiony=n-center;C=ones(resolution,resolution);for i=1:1:resolutionp=i-center;for j=1:1:resolutionq=j-center;C(j,i)=A(j,i)*exp(-imag*k*(x*p+y*q)); endendE(n,m)=sum(C(:));endendE=abs(E);I=E.^2;I=I.^(1/3);I=I.*255/max(max(I));L=I;I=I+256;CM=[pink(255).^(2/3);gray(255)];Colormap(CM);edge=(resolution-1)/20;[X,Y]=meshgrid([-edge:0.1:edge]);x=linspace(-edge,edge,resolution);y=linspace(-edge,edge,resolution);subplot(1,2,1);surf(x,y,L);axis([-edge,edge,-edge,edge,0,255]);caxis([0,511]);subplot(1,2,2);image(x,y,I);axis([-edge,edge,-edge,edge,0,511]);view(2);axis square;圆孔衍射:clearlmda=500e-9;%波长r=1.2e-3;%f=1;%焦距N=19;K=linspace(-0.1,0.1,N);lmda1=lmda*(1+K);xm=2000*lmda*f;xs=linspace(-xm,xm,2000);ys=xs;z0=zeros(2000);[x,y]=meshgrid(xs);for i=1:19s=2*pi*r*sqrt(x.^2+y.^2)./(lmda1(i));z=4*(besselj(1,s)./(s+eps)).^2;%光强公式z0=z0+z;endz1=z0/19;subplot(1,2,1)imshow(z1*255);%平面图xlabel('x')ylabel('y')subplot(1,2,2)mesh(x,y,z1)%三维图colormap(gray)xlabel('x')ylabel('y')zlabel('光强')3)仿真图样:矩孔衍射:a=1,b=2a=2,b=2可知:矩孔在一个维度上展宽一定倍数将导致衍射图样在相同维度上缩短相同倍数,同时能量会更向中心亮斑集中。
吉大20秋《控制系统数字仿真》在线作业二【标准答案】

吉大18春学期《控制系统数字仿真》在线作业二 -0002 试卷总分:100 得分:100一、单选题 (共 15 道试题,共 30 分)1.figure命令的作用是()。
A.绘图B.关闭当图形行窗口C.打开新的图形窗口D.循环答案:C2.在CAD中文本窗口切换的快捷键是()。
A.F1B.F2C.F3D.F4答案:B3.绘制控制系统根轨迹的命令是()。
A.stepB.pzmapC.rlocusD.sgrid答案:C4.在MATLAB工作空间中,表示圆周率的特殊变量是()。
A.piB.ansC.iD.eps答案:A5.数值积分法中,其计算精度p=2的算法是()。
A.欧拉法B.梯形法C.四阶—龙格库塔法D.以上都不是答案:B6.给图形添加栅格的命令是()。
A.figureB.hold offC.hold onD.grid答案:D7.hold命令的作用是()。
A.给图形添加栅格B.图形窗口保持C.关闭图形D.去除图形栅格答案:B8.i=2; a=2i;b=2*i;c=2*sqrt(-1);程序执行后;a, b, c的值分别是()。
A.a=4,b=4,c=2.0000iB.a=4,b=2.0000i, c=2.0000iC.a=2.0000i, b=4,c=2.0000iD.a=2.0000i,b=2.0000i,c=2.0000i答案:C9.某系统的函数关系式为y=1/(x3-2x+4),绘制x在0至10之间变化的图形,正确的是()。
A.fplot('1/(x*3-2*x+4)',[0 10])B.fplot('1/(x.^3-2*x+4)',[0 10])C.plot('1/(x.^3-2*x+4)',[0 10])D.plot('1/(x*3-2*x+4)',[0 10])答案:B10.AutoCAD中的图层数最多可设置为()。
A.10层B.没有限制C.5层D.256层答案:B11.数值积分法中,是恒定稳定的算法是()。
系统仿真实验(完)

《控制系统仿真》(实验/学习总结)报告题目:控制系统仿真院系:电子信息与控制工程系专业:测控技术与仪器专业授课教师:陈政强,石玉秋本科生:邓毅班级:测控082学号: 200800304080 完成时间: 2011.01.15实验二 经典控制系统分析实验内容(带*号的可不做)1.教材P82页,4.8(任选一个小题)和4.11,已知单位负反馈的开环传递函数为下面的表达式,绘制当K 从0到无穷大时的闭环系统的根轨迹图:(1):ss s k G )22()(s 2++=程序:num=[1,2,2];den=[1,0];g=tf(num,den); rlocus(g) 图形:-1-0.500.51Real AxisI m a g i n a r y A x i s4.11:已知闭环系统的传递函数为:()()()()501.52559.41301)(2+++++=s s s s s s G 试求系统的超调量00σ和过渡过程时间s t 。
程序:num=conv([0,1301],[1,4.9]);den1=conv([1,5,25],[1,5.1]);den2=[1,50]; den=conv(den1,den2);g=tf(num,den); yss=1; t=0:0.1:10;[yout,t]=step(g); [y1,t]=max(yout); Mp=(y1-yss)/yss step(g);Mp =0.169700.51 1.52 2.50.51Step ResponseTime (sec)A m p l i t u d e3.已知某控制系统的开环传递函数1512(),.()()KG s K s s s ==++试绘制系统的开环频率特性曲线,并求出系统的幅值与相位裕量。
程序如下: num=1.5;den=conv([1,0],conv([1,1],[1,2])); g=tf(num,den);bode(g,{0.0001,100});grid; [Gm,Pm,Wcg,Wcp]=margin(g) figure(2);margin(g); Gm =4.0000Pm =41.5340Wcg =1.4142Wcp =0.6118-1000100M a g n i t u d e (d B)10-270-225-180-135-90P h a s e (d e g )Bode DiagramFrequency (rad/sec)M a g n i t u d e (d B )10-210102P h a s e (d e g )Bode DiagramGm = 12 dB (at 1.41 rad/sec) , P m = 41.5 deg (at 0.612 rad/sec)Frequency (rad/sec)5.对下面传递函数给出的对象模型0510********(.)()(.)(.)(.)K s G s s s s -+=+++绘制根轨迹曲线,并得出在单位反馈下使得闭环系统稳定的K 值范围。
清华出版社 系统仿真导论 答案Chapter 2习题答案 经典的连续系统仿真建模方法学

Chapter 2习题答案 经典的连续系统仿真建模方法学1. 数值积分法已知微分方程为1)0(,2=--=x t x x,取仿真步长2.0=h ,利用RK2计算4.0=t 时x 的值。
解:RK2公式为:),(),()(2121211hK x h t f K x t f K K K hx x k k k k k k ++==++=+,而k k k k t x x t f --=2),(则:ht h x h h t hK x hK x h t f K t x x t f K k k k k k k kk k k --+-=+-+-=++=--==)12()24()()(2),(2),(1121故:02.016.068.01--=+k k k t x x 列表计算:2. 仿真步长对计算稳定性的影响0)0(,x x x x==λ (1) 其中0<λ,讨论用梯形法计算该模型时,仿真步长h 与算法稳定性的关系。
解:梯形法计算公式的计算公式为)],(),([2111+++++=n n n n n n t x f t x f hx x (2)将(1)代入(2),有:112112)21()(2)(2+++++=++=++=n n n n n n n x h x h x x h x K K h x x λλλλ (3) 即: n n x h x h )21()21(1λλ+=-+ (4)设n x 为x 的一个仿真解,设n n x ε+为其准确解,即))(21())(21(11n n n n x h x h ελελ++=+-++ (5) (5)式减去(4)式,有:n n h h ελλε⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-+=+21211(6)上面的(6)式可以认为描述的是一个离散时间系统,改系统稳定时,估计误差n ε会趋于零。
根据离散系统稳定性要求,有:12121<-+λλh h (7)显然0<λ时,上式恒成立,所以选取任何仿真步长都能使仿真稳定。
系统仿真大作业2

系统仿真作业:观测站(O 点)为测得的某航班数据,当飞机到达某位置P 时开始对飞机的相关数据进行记录,在位置P 处时间t 记为0,当飞机到观测站的距离达到最短时飞机所处的位置记为M 点,飞机在t 时刻所处的位置与观测站O 点的连线到直线OM 的夹角记为θ(t)。
附表一给出了观测站某次记录数据:A 列为记录时间t ,其间隔为0.001s ;B 列为飞机飞行过程中t 时刻飞机相对于P 点的距离S(t);C 列给出了飞机t 时刻角度θ(t)的理论值theta_theory (参考输入),D 列给出了观测站实际上观测到的飞机在t 时刻时角度θ(t)的观测值theta_observation ;E 列给出了当把C 列数据theta_theory 作为某标准二阶伺服系统G(s)的输入信号时该标准二阶伺服系统的输出值theta_output 。
作业要求:(1) 将附表一中的数据导入matlab 工作空间,使各列数据都能作为变量使用。
(2) 试根据表格中的数据使用MATLAB 完成以下问题1. 根据A 、B 两列数据确定飞机飞行时的理论运行轨迹和飞机的飞行速度;2. 根据A 、B 、C 三列数据确定当飞机到达M 点时观测站O 到M 点的距离。
(3) 设计标准二阶伺服系统G(s)2n 222S nn ωζωω++=,要求: 1.确定合适的ζ值,其单位阶跃响应的性能指标满足:系统的超调量σ%介于4.5%~8.0%之间2.使用MATLAB 仿真确定参数ωn,使得:当把C 列数据theta_theory 作为该二阶伺服系统的输入时,系统的输出尽可能的接近E 列所给出的theta_output 。
求出系统传递函数参数。
3.将C 列theta_theory 作为设计好的标准二阶伺服系统的输入信号,计算输出相对于输入的相对误差;作出输出随时间变化的曲线,以及相对误差随时间变化的曲线。
(4) 在上述设计好的伺服系统中加入合适的干扰信号和适当的非线性环节,使得当把C列数据theta_theory 作为输入信号时系统的输出尽可能接近D 列数据(θ(t)的观测值theta_observatuon)。
第二次大作业

关于控制氧化炉温度恒定的讨论1.被控对象、输出量和控制参数对于整个系统可以很容易得到被控对象为空气、混合器及预热器和氧化炉组成的一个复杂系统。
而整个系统需要调节氨气阀门的开度,从而控制氨气和氧气比例从而间接控制温度,所以也可以知道系统的控制参数为氨气阀门的开度。
而输出量很显然就是整个氧化炉的温度了。
2.对象模型的建立方法要确定对象的数学模型,这个牵涉到现在比较热门的一项研究——系统辨识。
而系统辨识的方法按照比较常规的分类一般有两种,即离散系统辨识和连续系统辨识。
由于我们现在学习的是计算机控制技术,所以这里选择离散系统辨识方法。
如果我们在在固定的时间间隔(采样周期T)内,给系统若干组输入并测出这若干组输入所对应的输出,那么我们就可以很容易得到系统的模型了。
而更幸运的是在matlab中给我们提供了arx这样一个函数可以帮助我们求出系统的离散模型。
当让如果要更精确的确定一个函数的离散模型,还牵涉到模型的阶次以及辨识信号等问题。
鉴于这些已经超过了我现有的水平,所以就不在展开。
3.控制方案由于模型是具有纯滞后的一阶惯性环节。
由于和一般的模型相比较出现了纯滞后环节,所以这可能将使得系统的稳定性降低,如果延迟时间常数T足够大,系统将会变得很不稳定。
这就直接增加了系统控制的复杂性。
当然这里仍然有一些比较好方法,大林算法和Smith控制算法。
鉴于Smith控制算法具有更广泛的应用范围,所以这里可以选着使用Smith控制算法。
而Smith控制算法的基本原理是在原来控制算法的基础上,加上补偿。
所以我们在这里控制方案可以选择在PI控制的基础上再加上Smith补偿。
而之所以选择PI控制器作为基本控制器,首先PI控制器具有比较强的鲁棒性,其次PI调节器结构简单。
而不选择PID 调节器,是因为由于具有大延迟,所以快速性意义不大,故不需要D控制。
综合以上分析可以选择基于Smith补偿的PI控制算法。
4.在matlab下仿真的最小拍和PID结果响应曲线分别如下所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统仿真II 大作业
自06A-2 赵众源 06101010215
1、考虑如下的微分方程:
(1)试在Matlab 环境下采用Euler 法编制其仿真程序,给出在[0,10]秒区间上y 的变化曲线。
(2)试在Matlab —Simulink 环境下搭建仿真模型,给出在[0,10]秒区间上y 的变化曲线。
(3)考虑带有输入的情况:
在Matlab —Simulink 环境下进行仿真,给出在[0,10]区间上y 的变化曲线。
(1)
在M 文件中创建Euler 函数:
function [t,y]=euler(odefun,tspan,y0,h) t=tspan(1):h:tspan(2);y(1)=y0; for i=1:length(t)-1
y(i+1)=y(i)+h*feval(odefun,t(i),y(i)); end
t=t';y=y';
在命令窗口得到y 的变化曲线: odefun=inline('2*y*sin(t)-abs(y^3)','t','y'); >> [t,y]=euler(odefun,[0,10],1,0.01); plot(t,y)
3
()(,)2()sin |()|,(0)1dy t f t y y t t y t y dt
==-=3
()(,)2()sin |()|(),(0)1,()2cos 2dy t f t y y t t y t u t y u t t dt ==-+==
0.2
0.4
0.6
0.8
1
1.2
1.4
(2)试在Matlab —Simulink 环境下搭建仿真模型,给出在[0,10]秒区间上y 的变化曲线。
(3)考虑带有输入的情况:
在Matlab —Simulink 环境下进行仿真,给出在[0,10]区间上y 的变化曲线。
3
()(,)2()sin |()|(),(0)1,()2cos 2dy t f t y y t t y t u t y u t t dt ==-+==
2、下图是有电阻R=5、电感L=10和电容C=1组成的无源网络
(1)试列写以Ui为输入量,Uo为输出量时网络的微分方程;
(2)在Matlab-Simulink环境下搭建仿真模型,假设Uo的初始值为2,试给出Ui=5sin(10t)时Uo在[0, 15]区间上的变化曲线。
答:(1)
Ui(t)=LC(Uo(t))’’+RC(Uo(t))’+Uo(t)
(2)
3、考虑如下传递函数:
(1)以采样时间为0.2秒,将其转化为离散差分方程形式(输入为u ,输出为y ); 以采样时间为0.2秒,将其转化为离散差分方程形式 >> num=[0 0 1.5]; >> den=[1 8 12 6];
>> [A,B,C,D]=tf2ss(num,den);
>> [ad,bd,cd,dd]=c2dm(A,B,C,D,0.2,'method'); >> ad ad =
0.8346 1.0000 0 -0.0050 0.8346 1.1153 0 0 0.2878
>> bd bd =
0 0 0.0625
>> cd cd =
0.0694 0.0758 0.0230
>> dd dd =
所以其差分方程如下: x(n+1)=ad*x(n)+bd*u(n) y(n)=cd*x(n)+dd*u(n)
(2)考虑PID 控制器
以0.2秒为采样周期推导出其控制增量的差分方程形式。
32() 1.5
()()8126
Y s G s U s s s s ==+++0.5()10.1C s s
s =++
)(1
.02
10
-=-++
=∑n n s n
i i S
n n c c T c T c p )(1
.02211011
---=---++=∑n n s
n i i S n n c c T c T c p
)2(1
.02)(211---+-++-=∆n n n s
n S n n n c c c T c T c c p
S T s 2.0=
)2(2
1
1.0)(211---+-++-=∆n n n n n n n c c c c c c p
(3)试编写仿真程序得到闭环系统的单位阶跃响应曲线和控制量曲线,初始时刻的输入输出都为0,要求控制量不能大于5。
>> num=[1.5]; >> den=[1 8 12 6];
>> [num,den]=cloop(num,den,-1); >> step(num,den)
(4)在Simulink 下搭建仿真模型,求C (s )和G (s )构成的闭环系统的单位阶跃响应曲线。
阶跃响应曲线为:
(5)试给出一组PID控制器参数,使得控制系统的超调量小于10%,达到稳态(误差小于正负2%)的时间小于15秒,并给出输入输出曲线。
Kp=2.1 Ti=2.2 Td=0.1
4、考虑如下质量-弹簧-阻尼系统:
令x表示物体运动的距离,则其运动方程可表示为:
若m=2,c=1,k=1,f(t)=2,t>=0,试在Matlab—Simulink下搭建其仿真模型,给出在[0,20]区间上x和x’的变化曲线,其中x(0)=1,x’(0)=0.5,x’指x的微分。
答;在Matlab—Simulink下搭建的仿真模型:
x’的变化曲线
2
2()
d x dx
m c kx f t dt dt
++=
x的变化曲线。