已知线性系统闭环特征多项式为s^3+5s^2+(11-k)s+(6-3k-k^2 )=0 用MATLAB画出k从零到无穷

已知线性系统闭环特征多项式为s^3+5s^2+(11-k)s+(6-3k-k^2 )=0 用MATLAB画出k从零到无穷时的根轨迹图
写清程序代码,最好有注释,好的话追加!
今夜有雾不宜私奔 1年前 已收到2个回答 举报

巴林ww 幼苗

共回答了24个问题采纳率:83.3% 举报

% 我认为楼上的回答是错误的.因为题中给的条件是“闭环特征多项式”,对其直接
% 求根就得到闭环特征根,而对不同k值求出的特征根连成线就是所谓的根轨迹.
% 由于闭环特征方程中的k不仅有一次项,还有二次项,所以无法通过定义等效传递
% 函数的方法画参数根轨迹,只能采用直接求根的做法.
% 设置K的范围和步长,通过比较,K取0-20基本上可以比较好的反映系统根轨迹的形状
K = 0:0.1:20;
R = zeros(length(K),3);
% 对不同的K,求出闭环特征根,并保存到矩阵R中
for i=1:length(K)
k = K(i);
R(i,:) = roots([1,5,11-k,6-3*k-k^2]).';
end
% 绘制根轨迹(先画出k=0处的极点再画k增大对应的轨迹)
plot(R([1 1],:),'x')
hold on
plot(R)

1年前 追问

8

今夜有雾不宜私奔 举报

谢谢,但是貌似这样绘制出的是以k为横轴,根的实部为纵轴的曲线,而不是实部为横轴,虚部为纵轴的根轨迹图,

举报 巴林ww

横轴肯定不是k,你没看到横坐标的范围吗?k都是值,但横坐标正负都有。 求出来的根R是复数,用plot(R)画图就是实部为横轴、虚部为纵轴的。

ybnvcxdmj 幼苗

共回答了7个问题 举报

画k为定值时的系统根轨迹图
clc
clear
k = ...; %这里你自己输入k值
num = [1,5,11-k,6-3*k-k.^2];
den = [1];
H = tf(num,den); %生成传函
rlocus(H); %画根轨迹图
如果把k从0开始到一个很大的数为止的所有根轨迹图都画出来的话,线就混在一起分不清了,要...

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.149 s. - webmaster@yulucn.com