How do I put variable values into a text string for Legend

I want to put the variable as a legend but in form of power of some amount this is the variable
x=-1.1;
then in the result i want to see 10^-1.1
figure
plot(Ratio,Final_1,'k-x','linewidth',2)
grid on
legendInfo = ['SNR target for BER 10^' num2str(x)];
legend(legendInfo,'Location','southeast')
xlabel('Ratio')
ylabel('SNR')
problem i have is this part "'SNR target for BER 10^' num2str(x)" because it is not showing like 10^x

 Accepted Answer

Use the sprintf function:
legendInfo = sprintf('SNR target for BER 10^%f', x);

5 Comments

result is like this
but i need like this one
This works:
legendInfo = sprintf('SNR target for BER 10^{%2d}', floor(x));
I tested it.
The floor function rounds to -Inf, and allowing a two-digit field with ‘%2d’ makes room for the sign.
Thanks, It's correct. but do you know how to write for float number. Imagine x=-1.2
I need to present it like this
because when i floor(x) it shows another value
I found it.
legendInfo = sprintf('SNR target for BER 10^{%0.1f}', (x));
Thanks for your reply.
My pleasure.
I thought you wanted integers rounded to the next lowest integer. The '%.1f' is the correct option for one decimal-place floating-point precision.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!