仿真技术实验程序及思考题解答完整版Word下载.docx
- 文档编号:22818471
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:22
- 大小:114.91KB
仿真技术实验程序及思考题解答完整版Word下载.docx
《仿真技术实验程序及思考题解答完整版Word下载.docx》由会员分享,可在线阅读,更多相关《仿真技术实验程序及思考题解答完整版Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
t(i)+h];
end
plot(t,y)
Tf=5h=0.02
五、思考题
1.试说明四阶龙格-库塔法与计算步长关系,它与欧拉法有何区别。
区别:
四阶龙格库塔法与欧拉法都是基于在初值附近展开成泰勒级数的原理,所不同的是取泰勒级数的项数,欧拉公式仅取到h项,四阶龙格库塔法取到h4项。
实验二面向结构图的仿真
1.掌握连接矩阵及系统状态方程的确定方法;
2.掌握面向结构图的仿真方法。
假设某系统由三个典型环节组成,如下图所示,求输出量y的动态响应。
仿真基本步骤:
1.给定输入信号,确定典型环节及环节参数;
2.确定连接矩阵;
3.输入仿真时间和计算步长;
4.求H,H-1和Q阵,确定A、B阵;
5.根据龙格-库塔法求状态方程的解;
6.根据1~5编写仿真程序。
源程序:
r=10;
P=[0110;
2120;
101100];
W=[00-1;
100;
010];
W0=[1;
0;
0];
Wc=[001];
仿真时间Tf='
h=input('
A1=diag(P(:
1));
B1=diag(P(:
2));
C1=diag(P(:
3));
D1=diag(P(:
4));
H=B1-D1*W;
Q=C1*W-A1;
A=inv(H)*Q;
B=inv(H)*C1*W0;
y=[zeros(length(Wc(:
1)),1)];
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;
Wc*x];
plot(t,y)仿真时间Tf=10计算步长h=0.05
图一仿真曲线
1.典型环节的确定必须满足什么条件?
答:
G(S)=
式中u为典型环节的输入,x为典型环节的输出。
1.为了保证H的逆
存在,应严格按照
0的原则确定每个典型环节,既避免以纯比例、纯微分环节作为典型环节。
2.在输入向量不全为阶跃函数的情况下,只要在确定典型环节时,注意使含有微分项系数即(
0)的环节不直接与参考输入连接。
实验三连续系统的快速仿真
1.熟悉增广矩阵的构建方法;
2.掌握连续系统的快速仿真基本原理。
假设某系统结构图如下,要求采用快速仿真方法求系统输出响应。
5.构建增广矩阵;
6.采用增广矩阵法求齐次方程的解和系统输出响应。
根据1~6编写仿真程序。
四、实验结果和分析
[num,den]=series(1,[1,0],2,[1,2]);
[num,den]=series(num,den,10,[1,10]);
[num,den]=cloop(num,den);
[A1,B1,C1,D1]=tf2ss(num,den);
A=[A1,B1;
0,0,0,0];
C=[C1,0];
Tf=10;
h=0.05;
k1=eye(size(A));
k2=A*h;
k3=k2*k2/2;
k4=k3*k2/3;
k=k1+k2+k3+k4;
x=[zeros(size(A1,1),1);
10];
Tf/h
x=k*x;
y=[y,C*x];
t=[t,i*h];
1.增广矩阵法和四阶龙格-库塔法有何区别?
如果取
的泰勒级数前五项,则增广矩阵的计算与四阶龙格库塔法相同。
四阶龙格库塔法具有很高的精度,但运行速度很慢,而增广矩阵法既满足了精度又满足了速度。
实验四离散相似法仿真
1.掌握离散化的基本原理;
2.掌握非线性系统的离散化仿真方法。
已知非线性系统结构图如下,求系统输出响应。
1.给定参考输入,输入仿真时间,采样周期(T=0.1s);
2.将被控对象离散化;
3.给定参数初始值;
4.计算误差和非线性环节输出;
5.计算系统输出;
6.参数值更新;
7.若仿真时间到,则结束,否则转1。
编写仿真程序,求解系统输出响应。
%backlash.m
function[x,u1]=backlash(u1,u,x1,s)
if(u>
u1)
if((u-s)>
=x1)x=u-s;
elsex=x1;
elseif(u<
if((u+s)<
=x1)x=u+s;
elsex=x1;
end
u1=u;
主程序:
[num,den]=series([10.5],[10.1],[1],[10]);
[num,den]=series(num,den,2,[1,2]);
[num,den]=series(num,den,10,[110]);
[A,B,C,D]=tf2ss(num,den);
T=0.025;
[G,H,C,D]=c2dm(A,B,C,D,T,'
zoh'
x=zeros(size(G,1),1);
s=1;
e1=0;
u1=0;
Tf/T
e=r-y(end);
u=backlash(e1,e,u1,s);
x=G*x+H*u;
y=[y,C*x+D*u];
t=[t,i*T];
u1=u;
e1=e;
end;
1.试比较零阶保持器与双线性变换法区别。
答:
零阶保持器与双线性变换都能够实现将连续系统的离散化,只是所使用的方法不同,零阶保持器是在系统中加入了
实现离散化,而双线性变换是直接将
代入传递函数实现离散化。
实验五采样控制系统的数字仿真
3.掌握采样控制系统基本原理;
4.掌握常用的离散化方法;
5.掌握采样控制系统的仿真方法。
已知采样系统结构如下图所示,求系统的输出响应。
将系统中连续部分采用零阶保持器离散化,系统采用离散化方法进行仿真(同步采样),其具体步骤如下:
1、给定参考输入,输入仿真时间,采样周期(T=0.1s),PID控制器参数;
2、将被控对象按零阶保持器方法离散化;
3、给定参数初始值;
4、计算误差和控制器输出;
5、计算系统输出;
6、参数值更新
7、若仿真时间到,则结束,否则转1。
编写仿真程序,并调整控制器参数,使得系统输出响应较为合理。
r=1;
Tf=20;
Tm=1;
T=0.01;
kp=0.4;
ki=0;
kd=0;
[A,B,C,D]=tf2ss(1,[110]);
e2=0;
x=zeros(2,1);
u2=u1+kp*(e-e1)+ki*e+kd*(e-2e1+e2);
x=G*x+H*u2;
y=[y,C*x+D*u2];
e2=e1;
e1=e;
u1=u2;
plot(t,y);
2.同步采样与异步采样在程序实现上有何区别?
同步采样:
T=h,异步采样T=N*h
同步采样时,在程序中只要一个for循环即可实现,而异步采样需要两个for循环实现。
实验六串联超前校正
1.掌握超前校正装置的基本特性;
2.熟悉串联超前校正方法。
设有一单位负反馈系统,其开环传递函数为:
,要求系统的稳态速度误差系数kv=20(1/s),相位裕量r>
50,幅值裕量kg>
10db,试确定串联校正装置。
设计基本步骤:
1.根据性能指标确定开环增益k;
2.利用确定的开环增益k画出未校正系统的Bode图,并求其相位裕量r0和幅值裕量kg;
3.确定所需增加的超前相位角
,
一般取5~15;
4.令超前校正装置最大超前角
,则
;
5.将校正装置的最大超前相位角处的频率
作为校正后系统的剪切频率
,则:
6.根据
,可求得:
7.画出校正后系统Bode图,检验指标是否满足,如不满足,增大
重新设计。
源程序见课本P220
num0=40;
den0=conv([1,0],[1,2]);
[Gm1,Pm1,Wcg1,Wcp1]=margin(num0,den0);
r=50;
r0=Pm1;
w=logspace(-1,3);
[mag1,phasel]=bode(num0,den0,w);
forepsilon=5:
15
phic=(r-r0+epsilon)*pi/180;
alpha=(1+sin(phic))/(1-sin(phic));
[i1,ii]=min(abs(mag1-1/sqrt(alpha)));
wc=w(ii);
T=1/(wc*sqrt(alpha));
numc=[alpha*T,1];
denc=[T,1];
[num,den]=series(num0,den0,numc,denc);
[Gm,Pm,Wcg,Wcp]=margin(num,den);
if(Pm>
=r);
break;
printsys(numc,denc)
printsys(num,den)
[mag2,phase2]=bode(numc,denc,w);
[mag,phase]=bode(num,den,w);
subplot(2,1,1);
semilogx(w,20*log10(mag),w,20*log10(mag1),'
--'
w,20*log10(mag2),'
-.'
grid;
ylabel('
•ù
Ö
µ
£
¨
dB£
©
'
title('
--Go,-.Gc,-GoGc'
subplot(2,1,2);
semilogx(w,phase,w,phasel,'
w,phase2,'
w,(w-180-w),'
:
相位(度)'
xlabel('
频率(radc)'
)
title(['
校正后:
幅值裕量='
num2str(20*log10(Gm)),'
dB,'
'
相位裕量='
num2str(Pm),'
度'
]);
disp(['
校正前:
num2str(20*log10(Gm1)),'
dB,'
num2str(Pm1),'
1.简述串联超前校正的基本思想。
串联校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形状,产生足够大的相位超前脚,以补偿原来系统中元件造成的过大相位滞后。
因此校正时应使校正装置的最大超前相位出现在校正后系统的开环剪切频率。
实验七控制系统的计算机辅助分析
1.掌握控制系统的稳定性分析;
2.掌握控制系统的时域分析;
3.学会利用MATLAB软件求解控制系统性能指标。
1.已知闭环系统的开环传递函数为
判断系统的稳定性,并给出不稳定极点。
num=[32142];
den=[351221];
[z,p]=tf2zp(num,den);
ii=find(real(p)>
0);
n1=length(ii);
if(n1>
0)
disp('
TheUnstablePolesare:
disp(p(ii));
elsedisp('
SystemisStable'
0.4103+0.6801i
0.4103-0.6801i
2.对于典型二阶系统
试绘制出自然振荡频率ωn=6,阻尼比ξ=0.2时系统的单位阶跃响应,并求出稳态误差、上升时间,最大超调量及调节时间。
wn=6;
zeta=0.2;
num=wn^2;
den=[1,2*zeta*wn,wn^2];
t=0:
0.01:
10;
[y,x,t]=step(num,den,t);
%求稳态误差
num0=wn^2;
den0=[1,2*zeta*wn,0];
sys=tf(num0,den0);
sys1=1+sys;
sys2=tf(sys1.den,sys1.num);
num1=[1,0];
den1=[1];
sys3=tf(num1,den1);
num2=1;
den2=[10];
r=tf(num2,den2);
dcg=dcgain(sys2*sys3*r);
稳态误差dcg='
num2str(dcg)]);
%求超调量
[M,lab]=max(y);
M=((M-1)/1)*100;
最大超调量M='
num2str(M)'
%'
])
%求上升时间
t1=t(lab);
[Val,lab1]=min(abs(y(1:
lab)-1));
Tr=t(lab1);
上升时间Tr='
num2str(Tr)]);
%求调节时间
L=length(t);
whiles
lab2=find(abs(y(L:
end)-1)>
0.05);
iflength(lab2)>
s=0;
elseL=L-1;
L=L+1;
Ts=t(L);
调节时间Ts='
num2str(Ts)]);
实验八积分分离PID控制算法及仿真
1.掌握积分分离PID控制算法原理;
2.掌握积分分离PID控制器设计。
已知某被控对象传递函数为
,采样时间为20s,延迟时间为4个采样时间,试设计积分分离PID控制器,并求出系统输出响应。
积分分离算法:
式中,β为积分项开关系数,
1、给定参考输入,输入仿真时间,采样周期(T=0.1s),积分分离PID控制器参数;
2、被控对象离散化:
y(k)=-den
(2)y(k-1)+num
(2)u(k-5);
3、给定输入信号r(k)=40;
4、设定阈值ε>
0,计算当前误差e(k),若
时,采用PD控制,避免超调过大,同时使系统响应较快;
当
时,采用PID控制,保证精度。
5、计算系统响应y(k)。
%IntegrationSeparationPIDController
clearall;
closeall;
ts=20;
%Delayplant
sys=tf([1],[60,1],'
inputdelay'
80);
%构造exp(80),inputdelay不能少
dsys=c2d(sys,ts,'
[num,den]=tfdata(dsys,'
v'
u_1=0;
u_2=0;
u_3=0;
u_4=0;
u_5=0;
y_1=0;
y_2=0;
y_3=0;
error_1=0;
ei=0;
fork=1:
1:
200
time(k)=k*ts;
rin(k)=40;
kp=0.80;
ki=0.005;
kd=3.0;
yout(k)=-den
(2)*y_1+num
(2)*u_5;
%Iseparation
error(k)=rin(k)-yout(k);
M=2;
ifM==1%Usingintegrationseparation
ifabs(error(k))>
=30&
abs(error(k))<
=40
beta=0.3;
elseifabs(error(k))>
=20&
=30
beta=0.6;
=10&
=20
beta=0.9;
else
beta=1.0;
elseifM==2
%Notusingintegrationseparation
ei=ei+error(k)*ts;
%积分作用
u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;
ifu(k)>
=110%限制PID输出值
u(k)=110;
ifu(k)<
=-110
u(k)=-110;
u_5=u_4;
u_4=u_3;
u_3=u_2;
u_2=u_1;
u_1=u(k);
y_3=y_2;
y_2=y_1;
y_1=yout(k);
error_2=error_1;
error_1=error(k);
figure
(1);
plot(time,rin,'
b'
time,yout,'
r'
time(s)'
rin,yout'
figure
(2);
plot(time,u,'
u'
1、试比较PID与积分分离PID控制算法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仿真技术 实验 程序 思考题 解答 完整版