MATLAB 辅助教学Word格式文档下载.docx

上传人:b****5 文档编号:19347013 上传时间:2023-01-05 格式:DOCX 页数:74 大小:134.38KB
下载 相关 举报
MATLAB 辅助教学Word格式文档下载.docx_第1页
第1页 / 共74页
MATLAB 辅助教学Word格式文档下载.docx_第2页
第2页 / 共74页
MATLAB 辅助教学Word格式文档下载.docx_第3页
第3页 / 共74页
MATLAB 辅助教学Word格式文档下载.docx_第4页
第4页 / 共74页
MATLAB 辅助教学Word格式文档下载.docx_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

MATLAB 辅助教学Word格式文档下载.docx

《MATLAB 辅助教学Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MATLAB 辅助教学Word格式文档下载.docx(74页珍藏版)》请在冰豆网上搜索。

MATLAB 辅助教学Word格式文档下载.docx

den=conv([1612],[124]);

G=tf(num,den);

[z,p,k]=zpkdata(G,'

pzmap(G)%绘制零极点图

axis([-3.2,0,-2,2])%设定零极点图坐标

gridon

例5已知控制系统的微分方程式为:

建立状态空间模型。

由本题可知

A=[010;

001;

-3-5-9];

B=[1;

-5;

41];

C=[100];

D=0;

G=ss(A,B,C,D)

例6

,求其TF模

型和零极点模型,并求其零极点和绘制零极点图。

A=[0100;

0010;

0001;

-50-48-28.5-9];

B=[0;

0;

1];

C=[10200];

Gss=ss(A,B,C,D)

Gtf=tf(Gss)

Gzpk=zpk(Gss)

[z,p,k]=zpkdata(Gss,'

pzmap(Gss)

例7 已知一串联系统的三个传递函数

,求此系统的传递函数。

G1=tf([265],[1452]);

G2=tf([141],[1980]);

z=[-3-7];

p=[-1-4-6];

k=5;

G3=zpk(z,p,k);

G=G3*G2*G1

例8 已知两状态方程描述的系统进行并联连接,其中状态系数矩阵为:

求此并联系统的

状态空间模型。

G1=ss([-221;

0-24;

1-40],[0;

-1],[1-11],1);

G2=ss([010;

-5-3-2],[0;

1],[1.510.5],2);

G=G1+G2

例9 如图所示的连接框图,其中

,求

此系统总的传递函数。

G1=tf([113],[1421]);

G2=tf([567],[1234]);

G3=tf([18171],[16116]);

G4=tf([56],[11080128]);

G=(G2*G1+G3)*G4

例10 如图所示为控制系统的控制框图,求系统的闭环传递函数。

G1=tf([10],[11]);

G2=tf([2],conv([10],[11]));

H2=tf([12],[13]);

H1=tf([50],conv([12],[14]));

GH=feedback(G2,H2,+1);

Gc=GH*G1;

G=feedback(Gc,H1)

第二章时域分析法

例1 计算有初始条件的零输入响应。

设控制系统状空间表达是:

零输入时的状态值

A=[-2-2.5-0.5;

100;

010];

B=[100]'

;

C=[01.51];

G=ss(A,B,C,D);

Gs=tf(G)

y=initial(G,[102],0:

2:

100);

h=plot(y);

set(h,'

linewidth'

3*get(h,'

));

grid;

axis([0100-0.22.5]);

title('

零输入响应曲线'

xlabel('

t'

ylabel('

y'

可以看到,系统输出的初始值不为零;

在本题中,输出为2。

在程序中增加零

状态输出就可得到实际的系统输出。

程序代码如下:

y1=step(G,100);

yy=y1+y;

plot([yy1yy]);

响应输出曲线'

axis([0120-0.23]);

text(40,0.4,'

零输入响应'

text(40,0.7,'

零状态输出响应'

text(12,2.5,'

总的输出响应'

例2 某位置随动系统的方框图如图所示。

求此系统的单位阶跃响应曲线。

先求系统的传递函数,代码如下:

G=tf([10],conv([10],[0.51]));

H=tf([0.11],[1]);

GH1=feedback(G,H);

GH=feedback(GH1,1)

绘制阶跃响应曲线,代码如下:

GH=tf([10],[0.5220]);

step(GH)

单位阶跃响应曲线'

例3 已知某控制系统的传递函数

,对于任意的

输入信号,求系统的输出响应曲线。

1 当输入信号是

时;

2 当输入信号是

时。

绘制正弦信号输出响应曲线的程序代码:

G=tf(conv([5],[11]),conv([10],[1423]));

t=[0:

.1:

150]'

u=sin(t+30*pi/180);

y=lsim(G,u,t);

plot(y(1:

150));

set(gca,'

ytick'

-4:

1:

8);

正弦信号的输出响应曲线'

grid

绘制余弦信号输出响应曲线的程序代码:

0.1:

u=2*cos(5*t+30*pi/180);

余弦信号的输出响应曲线'

例4 已知单位负反馈控制系统的开环传递函数为

,试判断此闭环系统的稳定性。

首先求闭环系统的特征多项式,程序代码:

z=-2;

p=[0-0.5-0.8-3];

k=0.2;

Go=zpk(z,p,k);

Gc=tf(feedback(Go,1));

dc=Gc.den;

dens=poly2str(dc{1},'

根据特征多项式,求其特征根来判断系统的稳定性。

程序如下:

den=[14.34.31.40.4];

p=roots(den)

利用零极点图来判断系统的稳定性。

[z,p,k]=zpkdata(Gc,'

pzmap(Gc)

例5 如图所示的控制系统方框图,计算其动态误差系数。

num=[112];

den=10;

Es=feedback(1,G);

symssnumsdens

nums=poly2sym(Es.num{1});

dens=poly2sym(Es.den{1});

y=sym2poly(taylor(nums/dens));

y1=length(y);

fori=1:

y1

yy(i)=y(y1-i+1);

ifyy(i)==0

k(i)=inf;

else

k(i)=1/yy(i);

end

end

k

例6已知二阶振荡环节的传递函数

,其中ωn=

0.4,ζ从0变换到2,求此系统的单位阶跃响应曲线、脉冲响应曲线

和斜坡响应曲线。

系统单位阶跃响应曲线的程序代码:

symss

forzeta=[0:

0.2:

0.8,1:

0.5:

2]

wn=0.4;

wn=sym(num2str(wn));

zet=sym(num2str(zeta));

ifzeta==0

figure

(1)

ezplot(ilaplace(wn^2/s/(s^2+wn^2)),[080]);

\xi=0'

elseifzeta==1

figure

(2)

ezplot(ilaplace(wn^2/s/(s+wn)^2),[080]);

holdon;

ezplot(ilaplace(wn^2/s/(s^2+2*zet*wn*s+wn^2)),[080]);

\xi:

0.2,0.4,0.6,0.8,1.0,1.5,2.0'

axis([08001.8])

gtext('

0.4'

1.0'

2.0'

系统脉冲响应曲线的程序代码:

wn=sym(wn);

zet=sym(zeta);

ezplot(ilaplace(wn^2/(s^2+wn^2)),[060]);

ezplot(ilaplace(wn^2/(s+wn)^2),[060]);

ezplot(ilaplace(wn^2/(s^2+2*zet*wn*s+wn^2)),[060]);

gridon,title('

axis([060-0.20.4])

系统斜坡响应的程序代码:

当输入信号为斜坡信号时,R(s)=

ezplot(ilaplace(wn^2/s^2/(s^2+wn^2)),[060]);

ezplot(ilaplace(wn^2/s^2/(s+wn)^2),[080]);

ezplot(ilaplace(wn^2/s^2/(s^2+2*zet*wn*s+wn^2)),[080]);

axis([080080])

例7 已知控制系统的传递函数

,求此系统单位阶

跃响应曲线和脉冲响应曲线。

单位阶跃响应曲线程序代码:

num=[124];

den=[11254];

[r,p,k]=residue(num,den);

y=sum(ilaplace(r./(s*(s-p))));

ezplot(y,[030]);

axis([03001.4]);

y(t)'

脉冲响应曲线程序代码:

y=sum(ilaplace(r./(s-p)));

ezplot(y,[025]);

axis([025-0.41.0]);

脉冲响应曲线 '

例8 求一阶惯性环节

的阶跃响应曲线和脉冲响应曲线。

绘制阶跃响应曲线程序代码:

forT=5:

5:

30

G=tf([1],[T1]);

step(G,160);

axis([016001.1]);

T:

5~30阶跃响应曲线'

0:

1.1);

绘制脉冲响应曲线程序代码:

impulse(G,100);

axis([0100-0.010.22]);

5~30脉冲响应曲线'

例9 已知三阶系统

,将此展开为部

分分式展开式,并求此控制系统的脉冲响应曲线。

num=[2115];

den=[173260];

[r,p,k]=residue(num,den)

ezplot(y,[04]);

axis([04-12.2]);

-0.9:

.3:

2.1);

脉冲响应曲线'

第三章 根轨迹法

例1 根轨迹的概念

%G(s)H(s)=50*/s(s+1)

ng=1;

dg=poly([0-1]);

GH=tf(50*ng,dg)

GH=zpk(GH)

pzmap(ng,dg)

Zero-PolePlot'

'

FontWeight'

bold'

r=rlocus(ng,dg);

rlocus(ng,dg);

holdon

plot(r,'

LineWidth'

2),

Root-LocusPlotofG(s)H(s)=50/s(s+1)'

例2 分支数、起点与终点

%G(s)H(s)=k*(s+1)/s(s+2)

ng=[11];

dg=poly([0-2]);

GH=tf(ng,dg)

[p,z]=pzmap(ng,dg);

pmm=length(p);

zmm=length(z);

pmm

pre(i)=real(p(i));

pim(i)=imag(p(i));

zmm

zre(i)=real(z(i));

zim(i)=imag(z(i));

plot(pre,pim,'

x'

2)

plot(zre,zim,'

o'

[r,k]=rlocus(ng,dg);

k1=[0:

.02:

16];

rlocus(ng,dg,k1);

%plot(r,'

Root-LocusPlotofG(s)H(s)=k*(s+1)/s(s+2)'

'

例3渐近线、对称于实轴

%G(s)H(s)=k*/s(s+1)(s+2)

dg=poly([0-1-2]);

%pzmap(ng,dg)

%r=rlocus(ng,dg);

rlocus(ng,dg,'

:

);

axis([-3.51.5-33])

r'

[xx,yy,pp,nex]=asymptote(ng,dg);

plot(xx,yy,'

b'

Root-LocusPlotof

G(s)H(s)=k*/s(s+1)(s+2)'

),

text(-1.44,-0.2,['

\sigma='

num2str(pp)],'

)%渐近

线与实轴交点

text(-1.44,-0.5,['

\0=\pm'

num2str(180/nex),'

\circ'

'

num2str

(180),'

],'

)%渐近线与实轴夹角

例4 起始角与终止角、与虚轴交点

%G(s)H(s)=k*/s(s^2+2s+2)

dg=[1220];

%GH=tf(ng,dg)

sgrid

2),[xx,yy]=asymptote(ng,dg);

plot(xx,yy),

Root-LocusPlotofG(s)H(s)=k*/s(s^2+2s+2)

)'

%title('

Root-LocusPlotofG(s)H(s)=k*/s(s^2+2s+2)(用鼠标定点确定K

)'

%text(-1.1,1.1,['

\Theta='

num2str(-45),'

]),

%text(-1.1,-1.1,['

num2str(45),'

%[ng,dg]=dispK(ng,dg);

例5 分离点、实轴上的根轨迹

%G(s)H(s)=10*/s(s+1)(s+2)

%ng=[14];

dg=poly([0-1-2-3]);

[xx,yy]=asymptote(ng,dg);

plot(xx,yy)

gridon,

G(s)H(s)=k*/s(s+1)(s+2)(用鼠标定点确定K!

每次选点的第一点

按在窗口外则结束操作)'

),%,'

dispD1(GH);

%xx=get(gca,'

Xlim'

yy=get(gca,'

Ylim'

%text(xx

(1)+0.1,0.93*yy

(2),'

点开环极点,'

text(xx

(1)+0.1,0.84*yy

(2),'

则中断点取。

'

[ng,dg]=dispK(ng,dg);

例6 与平行于虚轴的直线对称情况

%G(s)H(s)=k*/s(s+4)(s^2+4s+20)

%ng=1;

rr=roots([146]);

rr=roots([1420]);

dg=poly([0-4rr'

]);

GH=zpk(GH),

Zero-PolePlot'

axis([-62-55]),[xx,yy]=asymptote(ng,dg);

plot(xx,yy,-xx-4,-yy),

Root-LocusPlotofG(s)H(s)=k*/s(s+4)(s^2+4s+20)'

%dispD2(GH);

例7带开环零点的二阶系统

%G(s)H(s)=k*(s+1)/s^2

ng=[1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1