计算机仿真 卷,计算机仿真技术试卷.doc

1、 控制系统的分析与设计方法可以分为 时域法 、 频域法 。

2、 根据仿真时间与系统实际时钟的关系,控制系统仿真可以分为 实时仿真 、 亚实时仿真 、 超实时仿真 。

3、 判断系统稳定性的方法主要有 利用极点判断稳定性 、 利用特征值判断系统稳定性 、 利用李雅普洛夫第二法判断系统稳定性 。

4、 常用的离散化方法主要有 简单替换法 、 双线性变换法 、 零阶或一阶保持器法 。

5、 根据采样周期的选择不同,采样控制系统仿真可以分为 同步采样 、 异步采样 。

6、 增量式PID控制器的表达式为。

7、 已知系统脉冲传递函数为,则该系统的差分方程为。

8、 已知系统的状态方程为,则该系统是否稳定 是 (填是或否),其特征值为 。

1、简述计算机仿真的基本步骤。

答:(1)根据仿真目的确定仿真方案;(2)建立系统的数学模型;(3)选择合适仿真方法,建立仿真模型;(4)编写仿真程序并进行程序调试;(5)进行仿真实验;(6)仿真结果分析。

2、试比较数值积分法与离散相似法的区别。

答:数值积分法:比较成熟,精度较高,计算公式复杂,计算量大,适合离线仿真;

离散相似法:计算公式简单,计算量小,速度快,精度较数值积分法低,适合在线仿真。

3、已知系统结构图如下图所示,1、2、3、4、5为典型环节,a为常数,试写出其连接矩阵W、W0、Wc (10分)

y

r

+

+

_

1

5

4

3

2

a

解:

由图可知, 从而:

所以:, ,

4、已知系统状态空间表达式为,,计算步长,输入信号()试采用欧拉法,四阶龙格-库塔法计算时对应的值。(12分)

解:,,,

欧拉法:

四阶龙格-库塔法:

5、已知系统传递函数,试采用双线性变换法求解系统差分方程,计算步长h=0.1s (10分)。

解:把双线性变换公式待入系统传递函数:

反z变换得系统差分方程为:

三、程序编制题(共37分)

1、已知线性定常系统的状态空间表达式为

初始状态为零,试分别采用欧拉法和四阶龙格-库塔法编写仿真程序求解系统的单位阶跃响应

解:欧拉法程序如下:

A = [0 1;-5 -6];

B = [2 ; 0];

C = [1 ; 2];

Tf=input(‘仿真时间Tf=’);

h=input(‘计算步长h=’);

X=zeros(size(A,1),1);

y=0; t=0; r=1;

for i=1:Tf/h

X=X+h*(A*X+B*r) ;

y=[y,C*X] ;

t=[t,t(i)+h] ;

end

plot(t, y) ;

四阶龙格-库塔法程序如下:A = [0 1;-5 -6]; B = [2 ; 0]; C = [1 ; 2];

Tf=input(‘仿真时间Tf=’);

h=input(‘计算步长h=’);

X=zeros(size(A,1),1);

y=0; t=0; r=1;

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,C*X] ;

t=[t,t(i)+h] ;

end

plot(t, y) ;

2、已知某系统结构图如下:

r=1 y

_

+

试编写程序求:(12分)

(1) 判断系统稳定性;

(2) 求解系统单位阶跃响应、最大超调量和上升时间。

解:程序清单如下:

[n1,d1] = series(1,[1,1],1,[1,2]);

[n2,d2] = series(n1,d1,2,[1,3]);

[num,den]=cloop(n2,d2);

P=roots(den);

i=find(real(P)>0);

n=length(i);

if n>0

disp(‘系统不稳定’);

else disp(‘系统稳定’);

end

t=0:0.1:10;

[y,x,t]=step(num,den,t);

plot(t,y);

[M,lab]=max(y);

M=(M-1)/1*100;

disp([‘最大超调量M=’ num2str(M) ‘%’]);

[Val,lab1]=min(abs(y(1:lab)-1));

Tr=t(lab1);

disp([‘上升时间tr=’ num2str(tr)]);

3、设被控对象为:,系统为单位负反馈,采用为增量式PID控制器。试编写仿真程序求解系统单位阶跃响应。(假设系统为同步采样,PID参数采用input语句输入)(12分)

解:程序清单如下:

clear all

T=0.01;

Kp=input(‘Kp=’);

Ti=input(‘Ti=’);

Td=input(‘Td=’);

Tf=input(‘仿真时间Tf=’);

a1=Kp; a2=Kp*T/Ti; a3=Kp*Td/T;

[numc,denc]=cloop(40,[1,30,1]);

[A,B,C,D]=tf2ss(numc,denc);

[G,H,C,D]=c2dm(A,B,C,D, T,’zoh’);

u_1=0;

e=0; e_1=0; e_2=0;

x=zeros(size(A,1), 1);

y=0; t=0;

for i=1:Tf/T

u=u_1+a1*(e-e_1)+a2*e+a3*(e-2*e_1+e_2);

x=G*x+H*u;

y=[y, C*x+D*u];

t=[t,t(i)+T];

e_2=e_1;

e_1=e;

e=1-y(end);

u_1=u;

end

plot(t,y);

5

第 页 共 5 页

展开阅读全文

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值