how to write in legend function ?

2 views (last 30 days)
I want to write the function in the legend ,automtaic for exmaple :
n=0:10e3;
f=(log2(n)).^2;
c_gn=10*((log2(n)).^2);
plot(n,f,n,c_gn);
legend('(log2(n)).^2','10*((log2(n)).^2');
I want that in the leged to change aoutomtacli every time I change f or c_gn and not the expression of the vaule manually in the legend . how to do it ?

Accepted Answer

Walter Roberson
Walter Roberson on 15 Nov 2020
n = 0:10e3;
f_fun = @(n) (log2(n)).^2;
c_gn_fun = @(n) 10*((log2(n)).^2);
f_legend = regexprep(func2str(f_fun), '^.*?)', '');
c_gn_legend = regexprep(func2str(c_gn_fun), '^.*?)', '');
f = f_fun(n);
c_gn = c_gn_fun(n);
plot(n, f, n, c_gn);
legend({f_legend, c_gn_legend});

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!