Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: matlab. Печать sym функции в title графика
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
lotorev
Код

syms x y t b
x = y^t+b;

plot([0:10],[0:10]);
title('asdf');


выводит значение asdf на заголовок title графического объекта.

ХАЧУ чтобы в этот title печаталась функция x=...
symbolic toolbox была введена фукция latex - формирование строки latex из символьной переменной.

Следующий код ДОЛЖЕН работать, однако не работает:
Код

syms x y t b
x = y^t+b;

plot([0:10],[0:10]);
title(latex(x), 'Interpreter','latex');


Как вывести название символьного графика (symbolic) в title окна??
neptune-1
Замени 'Interpreter' на 'tex' и будет счастье.

Либо title(strcat(strcat('$$',latex(x)),'$$'), 'Interpreter','latex');
lotorev
Цитата(neptune-1 @ Oct 16 2007, 15:12) *
Замени 'Interpreter' на 'tex' и будет счастье.

Либо title(strcat(strcat('$$',latex(x)),'$$'), 'Interpreter','latex');


Счастья не будет, ибо 'Interpreter' по умолчанию стоит в 'tex'.
на самом деле функция у меня посложнее будет. с дробью и корнем.
но неработоспособность можно показать уже на следующем примере:

x = y^t+b
title(latex(x)),'Interpreter','tex');

- работает корректно, красиво выводит степень

x = 2*y^t+b
title(latex(x)),'Interpreter','tex');

НЕ РАБОТАЕТ. на графике выводится строка как есть
2\,{y}^{t}+b
видимо не правильно работает функция latex()

кстати, использую matlab 7.4.0 (R2007а).
neptune-1
Цитата(lotorev @ Oct 16 2007, 17:32) *
Счастья не будет, ибо 'Interpreter' по умолчанию стоит в 'tex'.
на самом деле функция у меня посложнее будет. с дробью и корнем.
но неработоспособность можно показать уже на следующем примере:

x = y^t+b
title(latex(x)),'Interpreter','tex');

- работает корректно, красиво выводит степень

x = 2*y^t+b
title(latex(x)),'Interpreter','tex');

НЕ РАБОТАЕТ. на графике выводится строка как есть
2\,{y}^{t}+b
видимо не правильно работает функция latex()

кстати, использую matlab 7.4.0 (R2007а).


Попробуй title(strcat(strcat('$$',latex(x)),'$$'), 'Interpreter','latex'); В 2007b это работает.

Функция latex выдает строку в LaTeX (из help). Опытным путем выяснилось, что интерпритатор LaTeX воспринимает строку только если она заключена между '$$ $$'.
lotorev
спасибо, заработало!!

p.s вместо strcat можно конкатенировать как title( ['$$' latex(x) '$$'], 'Interpreter','latex')
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.