Измените цвет графика, созданного с помощью Compare (), из панели инструментов системного идентификатора - PullRequest
0 голосов
/ 21 октября 2019

В заголовке написано, что я хочу.

Функция compare(zv, mtf) создает фигуру с двумя строками: серую, представляющую данные реальной системы, переносимой переменной zv, и еще одну синюю линию, представляющуюОтвет модели на тот же сигнал. Как я могу изменить цвет синей линии?

В документации сравнения приведен пример использования 'r' для красного, но я хочу передать определенный цвет RGB. Синтаксис compare(zv, mtf,'color', [219/256 134/256 7/256]) выдает следующую ошибку:

Строка "color" не является допустимым стилем печати. ​​

Я использую R2015b (32 бита). К сожалению, я не смогу обновиться до более новой версии еще несколько недель.

1 Ответ

0 голосов
/ 21 октября 2019

Я нашел способ, но он не очень интуитивен, и цвет легенды не обновляется с цветом строки обновления ...

Возможно, лучшим способом будет получить ответ системы и добротуподбора, позвонив по номеру

[y_sys,fit,~] = compare(z1, sys);

и нанесите на график эти результаты самостоятельно (см. документы ).

% 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])

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...