声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6831|回复: 6

[控制理论] 求助:如何用Matlab绘制根轨迹渐近线??

[复制链接]
发表于 2009-8-11 22:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2009-8-12 22:38 | 显示全部楼层
rlocus ?
发表于 2009-8-13 16:22 | 显示全部楼层

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

num=[10 2];
den=[1 0.1 0 0];
subplot(221);
sys=tf(num,den);
rlocus(sys)
[r,k]= rlocus(sys);
[gain,poles]= rlocfind(sys)
 楼主| 发表于 2009-8-13 18:26 | 显示全部楼层

回复 沙发 ChaChing 的帖子

可以画出根轨迹,但是不能找到渐近线~~
发表于 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=[1 4 4 16 0];
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([sigma,10],[0,10*tan(phi(ii))],'--')
    hold on
    plot([-10,sigma],[10*tan(phi(ii)),0],'--')
end
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-13 10:48 , Processed in 0.070602 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表