【发布时间】:2015-04-07 04:14:40
【问题描述】:
我需要在不使用任何特殊的 Matlab 函数(即“rlocus”、“tf”)的情况下,用给定传递函数的“k”变化来绘制根轨迹。我被允许使用根。下面的代码显示了一条我无法弄清楚的错误/警告消息(下标索引必须是真正的正整数或逻辑。)。
查看我的代码。
%In vector form
num = input('Enter the coefficients of numerator of J(s): ');
%In vector form
den = input('Enter the coefficients of denominator of J(s): ');
qs = 0;
for k = 0:0.1:1000;
qs(k,:) = roots(den + num.*k);
end;
plot(qs,'+'), xlabel('\sigma'), ylabel('j\omega'), title ('Root-Locus'), grid
谢谢
【问题讨论】:
-
您正在索引
qs(k,:)但q并不总是一个整数,您正在尝试执行q(0,:)=...、q(0.1,:)=...等。Matlab 错误消息告诉您究竟是什么问题是。 -
感谢您回答我的问题,我需要将 k 从零变为一个大数,如果我尝试将其更改为从 1 开始,我会收到另一条错误消息(下标分配维度不匹配。)
标签: matlab plot transfer-function