标题说了我想要的。
compare(zv, mtf)
函数将生成一个包含两行的图形,一条灰色的线代表zv变量携带的实际系统数据,另一条蓝色的线代表模型对同一信号的响应。如何更改蓝线的颜色?
Compare的文档给出了将'r'用作红色的示例,但我想传递特定的RGB颜色。语法compare(zv, mtf,'color', [219/256 134/256 7/256])
给出以下错误:
字符串“ color”不是有效的打印样式。
我正在运行R2015b(32位)。不幸的是,我仍然无法在几个星期内升级到最新版本。
答案 0 :(得分:0)
我找到了一种方法,但是它不是很直观,并且图例颜色不会随着更新线颜色而更新...
更好的方法可能是通过调用获得系统的响应和拟合优度
[y_sys,fit,~] = compare(z1, sys);
并自己绘制这些结果(请参见docs)。
% load sample data and system
load iddata1 z1;
sys = tfest(z1,3);
% give the tf system a name
tf_name = 'system';
sys.Name = tf_name;
% compare in figure
fig = figure(1); clf;
compare(z1,sys)
% get handle for line of system
children = get(gca, 'Children');
grp = findobj(children, '-regexp', 'DisplayName', tf_name); % use system.Name here!
l = grp.Children; % handle to line object
% get old color
color_old = l.Color; % same as output of 'lines(1)' when using default colors
% find all lines with color
ls = findobj(fig, 'Color', color_old);
% set new color
set(ls, 'Color', [219/256 134/256 7/256])