典型二阶系统的计算机仿真,计算机仿真复习.doc

计算机仿真复习

计算机仿真复习

给定被控对象,

试利用Matlab建立其状态空间表达式;

MATLAB程序为:

num=[1 1 1];

den=[1 6 11 6];

[A,B,C,D]=tf2ss(num,den)

运行结果为:

A =

-6 -11 -6

1 0 0

0 1 0

B =

1

0

0

C =

1 1 1

D =

0

(b)在采样周期0.1时进行离散化。

MATLAB程序为:

K=1,Z=[-1/2+1/2*i*3^(1/2);-1/2-1/2*i*3^(1/2)]

P=[-1;-2;-3];,T=0.1;

[A,B,C,D]=zp2ss(Z,P,K)

运行结果为:

A =

-1.0000 0 0

1.0000 -5.0000 -2.4495

0 2.4495 0

B =

1

0

0

C =

1.0000 -4.0000 -2.0412

D =

0

(2)已知两子系统的传递函数分别为

试利用Matlab求两个子系统串联、并联时的传递函数。并用Simulink实现,两种方法进行对比分析。

用matlab求法:

Matlab程序为:

num1=1;den1=[1 3 1];num2=1;den2=[1 3];

[num3,den3]=series(num1,den1,num2,den2)

[num4,den4]=parallel(num1,den1,num2,den2)

运行结果为:

num3 =

0 0 0 1

den3 =

1 6 10 3

num4 =

0 1 4 4

den4 =

1 6 10 3

用Simulink仿真方法

Simulink编辑

(3)已知系统的方框图如下图所示,求系统的传递函数。

Matlab程序为:

num1=10;den1=[1 1];

num2=1;den2=[2 0.5];

[num5,den5]=series(num1,den1,num2,den2);

num4=0.1;den4=1;

[num6,den6]=feedback(num5,den5,num4,den4);

num3=540;den3=1;

[num7,den7]=series(num3,den3,num6,den6);

num8=1;den8=1;

[num,den]=feedback(num7,den7,num8,den8);

printsys(num,den)

运行结果为:

num/den =

5400

----------------------

2 s^2 + 2.5 s + 5401.5

(4)试用三种方法分别判断下述系统的稳定性。

(a)

(b)

代码1:A=[-1 1;2 -3];

p=poly(A);r=roots(P);ii=find(real(r)>0);n=length(ii);

if(n>0)

disp('System is Unstable');

else

disp('System is Stable');

end

显示结果:

r =-5.5064

0.4371 + 0.7643i

0.4371 - 0.7643i

-0.6839 + 0.4849i

-0.6839 - 0.4849i

System is Stable

代码2:num=[1 2 1 1 2];den=[1 5 1 1 2 1];

r=roots(den),pzmap(num,den)

显示结果:

r =-4.8196

0.4133 + 0.6826i

0.4133 - 0.6826i

-0.5035 + 0.2689i

-0.5035 - 0.2689i

有上图和运行结果可以看出在右半s平面有两个极点,所以系统不稳定。

程序段2:num=[1 2 1 1 2];den=[1 5 1 1 2 1];

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

r=roots(den),zplane(num,den)

r =

-5.5064

0.43

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值