自定义多个rootlocus绘图颜色(灰色标度)Matlab

本尼迪托·罗达(Benedetto Roda)

我想自定义我的rootlocus图的颜色。我使用for循环绘制10个根点(循环中系统稍有不同),我希望每个根点都具有不同的灰色阴影。我认为可以使用gray命令获取一个矩阵来存储RGB数据,然后在rlocus(sys,K,'style')命令中使用此矩阵(在循环的第i次迭代中选择第i行) )。不幸的是,该命令要求样式为单元格(例如“ g”或“ b”),而不是数字向量。

这是我的代码的示例:

figure()
hold on
L = [sys1, sys2, ..., sys10];
colors = gray(10);
for i = 0:9
 rlocus (L(i+1), 'Color', colors(i+1, :));
end
IKavanagh

rlocus()功能不如该plot()功能强大,并且rlocus(sys, 'b')您所注意到的仅对设置颜色的支持有限但是,我们可以将其与plot()功能结合起来以利用其功能。

在这里,我用于[R, K] = rlocus(sys)返回根轨迹的值R的每一行R代表不同的轨迹。我们可以绘制1个根轨迹的轨迹,plot(R(m, :))并利用的强度plot()改变颜色,但我们希望如此。

L = [sys1, sys2, sys3, sys4, sys5, sys6, sys7, sys8, sys9, sys10];
C = gray(numel(L) + 1); % Extra 1 because the last value will be
                        % white and plotting white on white does
                        % not look well :P

figure;
hold on
for n = 1:numel(L)
    [R, K] = rlocus(L(n));

    for m = 1:numel(R)/length(R)
        plot(R(m, :), 'Color', C(n, :));
    end
end
hold off

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章