求下列函数的零、极点和增益。
S3?11S2?30SH(S)?4S?9S3?45S2?87S?50
3.部分分式展开:
函数[r,p,k]=residue(b,a),对两个多项式的比进行部分分式展开,如:
P(s)bmsm?bm?1sm?1?....?b1s?b0?Q(s)ansn?an?1sn?1?....?a1s?a0
向量b、 a是以s的降幂顺序排列多项式的系数,部分分式展开后余数送入列向量r,极点送入列向量p,常数项送入k 。 练习2-5: 对F(s)进行部分分式展开:
2s3?9s?1F(s)?3s?s2?4s?4
4、 传递函数的常用命令:
最常用的对传递函数进行变换的命令为传递函数的乘、加与反馈连接命令。对于简单的框图分析可以使用series、 parallel、 feedback与cloop 命令,采用传递函数的形式进行分析与处理。
Gs(s)?G1(s)G2(s)①传递函数串联:
命令格式:[nums, dens]=series(num1, den1, num2, den2)
②传递函数并联:
Gp(s)?G1(s)?G2(s)命令格式:
6
[nump, denp]= parallel (num1, den1, num2, den2)
③反馈系统:
GG(s)f(s)?1?G1(s)G2(s)
命令格式:[numf, denf]=feedback(num1, den1, num2, den2)
④单位反馈系统:
Gc(s)?G(s)1?G(s)命令格式:[numc,denc]=clooop(num, den, sign)
sign是可选参数,sign=-1为负反馈,而sign=1对应为正反馈。缺省值为负反馈。 练习2-6
① 已知两子系统为:
G3?41(S)?s?4G2(S)?2ss2?2s?3
求G(SS)?G1(S)*G2(S)
GP(S)?G1(S)?G2(S)系统②已知两子系统为:
G2s2?5s?11(s)?s2?2s?3G2(s)?5(s?2)s?10 按下图方式连接,求闭环系统的传递函数。
输入 + 输出 系统1 — 系统 2 7
5、 MATLAB程序文件: ①编辑程序文件
当完成一个功能需要许多MATLAB命令时,可以将这些命令按特定的顺序组合在一起,存储在一个程序文件中,就得到了MATLAB程序,其文件名的后缀为*.M,故也称为M文件。在命令窗口的FILE菜单或工具栏上选择NEW命令——M-file,即可开始编辑M文件。MATLAB编辑器与其它WINDOWS编辑程序类似。 ②保存M文件
编辑M文件后,在命令窗口的FILE菜单或工具栏上选则SAVE AS 命令存盘,文件应以* .M为后缀。 ③执行M文件
在MATLAB系统命令窗口下,在提示符 ”>>” 处键入所编辑的M文件名后,即可执行该文件。在执行中若发现错误,系统将给出提示。此时可再次进入编辑器中修改程序,直至程序能正确执行为止。 编写下列题目M文件,调试并运行:
练习2-7.将图形窗口分割成132的空格,设ωt∈[0,2π], 以π/50为步长,绘制下列函数图形:
(1) 在左窗口,以ωt为横坐标,绘制V=120Sinωt和 I=100Sin(ωt-π/4)曲线,线条分别用不同颜色表示; (2)在右窗口,绘制P=V2I曲线,线型用“*”符号。
练习2-8. 在0≤t≤20区间内,且在同一图中绘制如下函数图形:
y1(t)?2.62e?0.25tcos(2.22t?174?)?0.6y2(t)?2.62e?0.25t?0.6y3(t)?0.6
8
求y1的最小值与最大值。
练习2-9.绘制下列方程的极坐标图。θ∈[0,2π],步长为π/200。
(1)(2)(3)(4)(5)
r?3(1?cos?)r?2(1?cos?)r?2(1?sin?)r?cos3?r?e?/(4?)6.编辑函数文件
函数是MATLAB 扩展功能的M文件。许多MATLAB 命令与全部工具箱命令都是用M文件格式写成的。程序文件与函数文件的主要区别在于,函数允许通过数值进行参数传递,而且函数使用局部变量而不是对整个工作空间中变量的操作。另外一个不同点是,函数文件的第一行必须包括“function”这个词。下面是一个典型的函数文件格式:
function[out1,out2,…]=filename(in1,in2,…) % optional comment lines for documentation
MATLAB commands
练习2-10阅读计算阶跃响应特征参数的函数文件,并编写主程序调用该函数文件(见附录),求:
⑴超调量σ%;⑵上升时间Tr; ⑶峰值时间Tp; ⑷过渡过程时间Ts;
练习2-11 参考练习2-5程序,编写程序计算下列传递函数的阶跃响应特参数:⑴超调量σ%;⑵上升时间Tr; ⑶峰值时间Tp; ⑷过渡过程时间Ts;
9
G1(S)?
2s2?2s?2G2(S)?4s?2s2?2s?2G3(S)?12s3?3s2?3s?1—-———————————————————————————
附录:计算超调量σ%、上升时间Tr、峰值时间Tp、过渡过程时间Ts的函数文件;
% MATLAB PROGRAM EG2-4
function [pos,tr,ts2,tp]=stepchar(t,y) %finding Pos and Tp
[mp,ind]=max(y);dimt=length(t); yss=y(dimt); pos=100*(mp-yss)/yss; tp=t(ind); i=1;j=1;k=1;q=1; while y(i)<0.1; i=i+1; end; t1=t(i); while y(j)<0.9; j=j+1; end;
t2=t(j);tr=t2-t1;
%Finding settling time (two percent)Ts i=dimt+1;n=0; while n==0; i=i-1; if i==1; n=1;
elseif y(i)>=1.02; n=1;
10