1
给定一个函数(称为sys(s)),我们可以使用matlab:rlocus(sys)
来绘制该函数的根轨迹。 (s)=(2s + 2 + b)/ s,我如何使用matlab绘制rlocus(sys)作为参数b的函数?matlab,如何绘制“根轨迹”
给定一个函数(称为sys(s)),我们可以使用matlab:rlocus(sys)
来绘制该函数的根轨迹。 (s)=(2s + 2 + b)/ s,我如何使用matlab绘制rlocus(sys)作为参数b的函数?matlab,如何绘制“根轨迹”
比方说,与1
b = 1:100;
我们需要创建轴和追究他们,这样我们就可以在彼此顶部绘制根轨迹间隔1和100之间b
变化。
axes();
hold('on');
现在,我们需要为每个b
的传递函数并绘制其根轨迹。
for idx = 1:length(b)
sys = tf([2 2+b(idx)], [1 0]);
rlocus(sys);
end
这是导致情节:
我无法找到一个量化的解决方案,因此它需要相当长的时间。这在我的电脑上花了45秒。如果你需要计算许多值,你将需要一个矢量化的解决方案。
要添加一个传奇,你需要创建一个单元阵列来存储b
值。
legendStr = cell(1, length(b));
然后,里面的for循环需要b
值转换为字符串,并将其存储在legendStr
。
legendStr{idx} = num2str(b(idx));
在for循环后,将图例添加到图中。
legend(legendStr)
非常感谢您的帮助。我也想知道,我该如何在图表上指出哪种颜色对应于哪个b值? – user3222184
@ user3222184我添加了关于添加图例的信息。希望能帮助到你。 – HebeleHododo