首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自定义多根轨迹图颜色(灰度) Matlab

自定义多根轨迹图颜色(灰度) Matlab
EN

Stack Overflow用户
提问于 2015-09-23 19:57:31
回答 1查看 1.2K关注 0票数 1

我想定制我的根轨迹图的颜色。我使用一个for循环来绘制10个根轨迹(循环中的系统略有不同),我希望它们中的每一个都是不同的灰色颜色。我想使用灰色命令来获得一个矩阵来存储RGB数据,然后在RGB(sys,K,'style')命令中使用这个矩阵(在我的循环的第一次迭代中选择第一行)。不幸的是,命令要求样式为单元格(例如'g‘或'b'),而不是数字向量。

这是我的代码示例:

代码语言:javascript
运行
复制
figure()
hold on
L = [sys1, sys2, ..., sys10];
colors = gray(10);
for i = 0:9
 rlocus (L(i+1), 'Color', colors(i+1, :));
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-24 11:31:28

rlocus()函数不像plot()函数那样强大,只对设置rlocus(sys, 'b')颜色的支持有限,正如您已经注意到的。但是,我们可以将它与plot()函数结合起来,以利用它的功能。

这里我使用[R, K] = rlocus(sys)返回根轨迹R的值。R的每一行表示不同的轨迹。我们可以用plot(R(m, :))绘制1根轨迹,并利用plot()的强度来改变颜色。

代码语言:javascript
运行
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32748414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档