实验原题如下:
以下是1.(a)到(c)的代码
z1=[];
s = [0,-1,-2];
k = 5;
[num,den] = zp2tf(z1,s,k);%用于已知开环增益并且所有的函数都在括号里面的情况
rlocus(num,den)
k~0-6
第一行是开环函数分子的,因为分子没有s根,所以为空
第二行是开环传递函数分母的分母有s,s根为(0,-1,-2)所以括号为0,-1,-2
第三行是开环增益
之后的后面在讲(zp2tf和rlocus先记下)以下为运行图
下面这个是2的
代码在图里
防止有的人想偷懒!所以:
z1 = [1,1];
s = conv([1 -1 0],[1 4 16]);
rlocus(z1,s)
[r,k]=rlocus(z1,s);
解释:s 是求分母的,因为s分母为(s-1)(s^2+4s+16)s,所以conv的系数为(conv只能乘两项?)
conv(conv([1,-1],[1 4 16]),1)
这个是1.3的
z1 = [1,1];
s = conv([1 2],1);
rlocus(z1,s)
[r,k]=rlocus(z1,s);
解释一下啊:conv是求卷积的;这里用来求那个s分母,因为s分母是(s+2)s,所以是conv([1 2],1)
有一篇博客正好讲的很细:发在这里了,点击前往
这个是4的也就是选做的。
总结:
conv()用来求卷积这里是求S的分母相乘
rlocus()可以画根轨迹图,不需要K,只需要开环函数分子分母
[num,den] = zp2tf(z1,s,k)是给出分子根z1,分母根s和开环增益k返回开环传递函数分子分母,以便给rlocus()画图
另外rlocus是返回值中包含开环增益K,下面是官方链接
最后是原理摘要。可以不看
根轨迹作图程序为
k=1;
z=[];
p=[0,-1,-2];
[num,den]=zp2tf(z,p,k);
rlocus(num,den)
|
根轨迹如图3-1所示。
pzmap(num,den) |
[p,z]=pzmap(num,den) |
给定单输入-单输出系统的传递函数
num=[1,2,4]; %开环传函分子多项式系数
den=conv(conv([1,4,0],[1,6]),[1,1.4,1]); %开环传函分母多项式系数
sys=tf(num,den); %系统传递函数模型
rlocus(sys);
就是原本的实验报告原理:可以不看,写得没有第一篇博客详细,侬。。。