波波球 发表于 2009-8-11 22:39

求助:如何用Matlab绘制根轨迹渐近线??

如题:
如何用Matlab绘制根轨迹渐近线??
有现成的函数吗?还是得自己编程??

ChaChing 发表于 2009-8-12 22:38

rlocus ?

孤独求和 发表于 2009-8-13 16:22

用rlocus自己编啊,给一个例子你。

num=;
den=;
subplot(221);
sys=tf(num,den);
rlocus(sys)
= rlocus(sys);
= rlocfind(sys)

波波球 发表于 2009-8-13 18:26

回复 沙发 ChaChing 的帖子

可以画出根轨迹,但是不能找到渐近线~~

VibrationMaster 发表于 2009-8-13 18:28

能否用符号工具项将其解析表达式找出来自己画?

波波球 发表于 2009-8-13 18:39

回复 板凳 孤独求和 的帖子

我想画出他的渐进线,
比如传函为
G=K*sum(s-z(i))/sum(s-p(j));其中i=1:m,j=1:n
就是求与实轴交点为
sigma=(sum(p(j))-sum(z(i)))/(n-m);
相角为
phi=(2*k+1)*pi/(n-m);k=0:n-m-1
的渐近线.
编程可以,但是有没有现成的函数??

波波球 发表于 2009-8-13 19:32

回复 5楼 VibrationMaster 的帖子

我用手绘根轨迹的方法编写的程序,但是完全就是在我已经知道这个传函的根轨迹和渐近线以后用Matlab画出来,仅仅是画出来,并不是在画出根轨迹的同时画出渐近线,可否帮我看一下?.

Transfer function:
            K
--------------------------
s^4 + 4 s^3 + 4 s^2 + 16 s

程序如下:
clear,clc
num=1;
den=;
H=tf(num,den)
z=roots(num);
p=roots(den);
sigma=(sum(p)-sum(z))/(length(p)-length(z));
k=0:(length(p)-length(z)-1);
phi=(2*k+1)*pi/(length(p)-length(z));
rlocus(H)
for ii=1:length(phi)
    hold on
    plot(,,'--')
    hold on
    plot([-10,sigma],,'--')
end
页: [1]
查看完整版本: 求助:如何用Matlab绘制根轨迹渐近线??