用MATLAB画零极点图.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
>> num=[1 2 1]; >> den=[1 5 3 8 9]; >> t=0.2; >> G1=tf(num,den) %没有采样时间 t,则显示为传递函数,自变量为 s
Transfer function: s^2 + 2 s + 1
----------------------------s^4 + 5 s^3 + 3 s^2 + 8 s + 9
-1
-1.5
超调量由ζ求出。
-2
-2.5
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
Real Axis
0
Mp e/ 12
化传递函数为零极点形式
Transfer function: z^2 + 2 z + 1
----------------------------z^4 + 5 z^3 + 3 z^2 + 8 z + 9
>> Gp=parallel(G1,G2) 或>> Gp=G1+G2 %并联
Transfer function: s^5 + 13 s^4 + 57 s^3 + 112 s^2 + 101 s + 34 --------------------------------------------
s^5 + 7 s^4 + 19 s^3 + 25 s^2 + 16 s + 4
• s^4 + 3 s^3 + 8 s^2 + 4 s + 2
•
• >> G1=zpk(G);
• >> z=G1.z;
• >> p=G1.p;
• >> Z=z{:};
• >> P=p{:};
• >> k=G1.k;
• >> pzmap(G);
• >> pzmap(G1);
• >> grid on
将传递函数化为零极点增益模型 并绘制零极点图
连续转化为离散(系统,采样时间,’ 方法‘)
Transfer function: 0.3679 z + 0.2642
---------------------z^2 - 1.368 z + 0.3679
Sampling time: 1
谢谢观赏
17
,Sampling time: 0.2
>> num=[1 2 1]; >> den=[1 5 3 8 9]; >> t=0.2; >> G2=tf(num,den,t) %有采样时间 t,则显示为脉冲传递函数,自变量为 z
Transfer function: z^2 + 2 z + 1
----------------------------z^4 + 5 z^3 + 3 z^2 + 8 z + 9
• Transfer function:
•
3 s^2 + 2 s + 8
• -----------------3 s^3 + 8 s^2 + 4 s + 2
• 将上式化为零极点增益模型,并绘制零极点图。
• >> num=[3 2 8]; • >> den=[1 3 8 4 2]; • >> G=tf(num,den)
显示零点 显示极点
>> pzmap(G1);%绘制零极点图 >> grid on %打开绘图网络
鼠标指向某零点或极点会显示该方 框。 极点、阻尼比ζ、超调量、固有频率 wn.
wn 1 2
ζwn
Imaginary Axis
wn
Pole-Zero Map 2.5
2
1.5
1
0.5
0
-0.5
ζ 由斜边和实部求出。
z= -1 -1
p= -4.6347 0.3174 + 1.3569i 0.3174 - 1.3569i -1.0000
k= 1
化零极点增益形式为传递函数 >> [num1,den1]=zp2tf(z,p,k) %化零极点增益形式为传递函数
num1 = 00121
den1 = 1.0000 5.0000 3.0000 8.0000 9.0000
用零阶保持器将连续系统离散化
G(s)
1
s(s 1)
零阶保持器:Gh
(s)
1
e sT s
求G( z) ?
G( z) Z[Gh (s) • G(s)]
>> num=[1]; >> den=conv([1 0],[1 1]); >> G=tf(num,den); >> G1=c2d(G,1,'zoh') %G1=c2d(sys,Ts,‘method’)
用MATLAB画零极点图.
1
将传递函数化为零极点增益模型 并绘制零极点图
• >> num=[3 2 8]; • >> den=[1 3 8 4 2]; • >> G=tf(num,den)
• Transfer function:
•
3 s^2 + 2 s + 8
• -----------------------------
Transfer function: 3 s^2 + 2 s + 8
----------------------------s^4 + 3 s^3 + 8 s^2 + 4 s + 2
求传递函数。命令后无“;”则屏 幕立即显示,否则不显示。
• >> G1=zpk(G);%化为零极点增益形式 • >> z=G1.z;%将G1零点存入z • >> p=G1.p; %将G1极点点存入p • >> k=G1.k;%将G1增益存入k
系统的串、并联的传递函数
•
2 s^2 + 6 s + 5
• G1= ---------------------
•
s^3 + 4 s^2 + 5 s + 2
•
s^2 + 7 s + 12
• G2= --------------
•
s^2 + 3 s + 2
• 分别求G1、G2串、并联后的传递函数。
>> num1=[2 6 5]; >> den1=[1 4 5 2]; >> G1=tf(num1,den1);
>> num2=[1 7 12]; >> den2=[1 3 2]; >> G2=tf(num2,den2);
>> G=series(G1,G2) 或 >> G=G1*G2 %串联
Transfer function: 2 s^4 + 20 s^3 + 71 s^2 + 107 s + 60
---------------------------------------s^5 + 7 s^4 + 19 s^3 + 25 s^2 + 16 s + 4
Sampling time: 0.2
>> G22=zpk(G2) %求离散系统G2零极点
Zero/pole/gain: (z+1)^2
---------------------------------------(z+4.635) (z+1) (z^2 - 0.6347z + 1.942) Sampling time: 0.2
>> G11=zpk(G1) %求连续系统G1零极点
Zero/pole/gain: (s+1)^2
---------------------------------------(s+4.635) (s+1) (s^2 - 0.6347s + 1.942)
• >> num=[1 2 1]; • >> den=[1 5 3 8 9]; • >> [z,p,k]=tf2zp(num,den)%化传递函数为零极点增益形式
%下面语句也可获得零极点。 >> [z,p,k]=tf2zp(num,den)
>> Z=z{:}
Z=
-0.3333 + 1.5986i -0.3333 - 1.5986i
>> P=p{:}
P=
-1.2496 + 2.2082i -1.2496 - 2.2082i -0.2504 + 0.4980i -0.2504 - 0.4980i