How to include function in legend
이전 댓글 표시
I tried all possibl string2functions of Matlab, but not getting quiete the result.
Here's my best try:
syms x
F = x^2; % Definied Function
g = matlabFunction(F);
% some random steps
x = -10:0.1:10;
f = g(x);
p1 = plot(x,f);
hold on
n = 20;
C = jet(n);
for k= 1:n
p2 = plot(x,f+2*k,'Color',C(k,:));
end
% Here comes the questionable part.
legend([p1,p2],{strcat('f = ',char(F)),sprintf('f at n = %0.f',n)},...
'Interpreter','latex','FontSize',20)
Basically I want the function that I definied to be automatically updated in legend. (Pretty handy if you change f multiple times). However in my attemp I get a warning:
String scalar or character vector must have valid interpreter syntax:
f:x^2
How can the function be acknowledged by the interpreter?
채택된 답변
추가 답변 (1개)
do you need to use latex as just using the default tex? as latex uses $ for markup of symbols i don't know if it'll take the syms function very well without some edits. if you get rid of the interpreter setting and use the default one
syms x
F = x^2; % Definied Function
g = matlabFunction(F);
% some random steps
x = -10:0.1:10;
f = g(x);
p1 = plot(x,f);
hold on
n = 20;
C = jet(n);
for k= 1:n
p2 = plot(x,f+2*k,'Color',C(k,:));
end
% Here comes the questionable part.
legend([p1,p2],{strcat('f = ',char(F)),sprintf('f at n = %0.f',n)},...
'FontSize',20)
more info can be found here in another matlab tex vs latex answers sub
댓글 수: 1
Niklas Kurz
2021년 6월 3일
편집: Niklas Kurz
2021년 6월 3일
카테고리
도움말 센터 및 File Exchange에서 Conversion Between Symbolic and Numeric에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

