Plot title sprintf format pi

13 Ansichten (letzte 30 Tage)
Nick Papanikolaou
Nick Papanikolaou am 23 Dez. 2015
Kommentiert: DEBARSHI MAJUMDER am 11 Mär. 2020
How can I display on a plot's Title the input value pi with Greek character "π" or in English "pi". For example: prompt = 'What is the original value? '; x = input(prompt) I insert the value pi/2 So i want the plot title to be like: Output=π/2 I used the following code but it keeps giving me the value 0.707 instead of the π/2 or pi/2 i want.
str = sprintf('Output x=%d',x);
title(str);

Akzeptierte Antwort

Kirby Fears
Kirby Fears am 23 Dez. 2015
Bearbeitet: Kirby Fears am 23 Dez. 2015
x is a double-precision floating point number. It will be displayed as a decimal by default. You can control how the double is represented (like scientific notation), but there is no built-in ability to display a double in terms of pi multiples. You're specifically trying to represent x in terms of pi/n for the appropriate n value.
Use the '\pi' character to display the symbol for pi. Calculate the value n = pi/x to build the expression "x = pi/n" in the title.
str = sprintf('Output x=%s/%d','\pi',pi/x);
title(str);
  4 Kommentare
Kirby Fears
Kirby Fears am 24 Dez. 2015
Bearbeitet: Kirby Fears am 24 Dez. 2015
To make it look really nice, you'll need a bit of case handling to insert \pi into the proper position.
x = pi * 3/4;
R = strtrim(rats(x/pi));
idxFrac = strfind(R,'/');
if isempty(idxFrac),
if strcmp(R,'0'),
fracStr = '0';
elseif strcmp(R,'1'),
fracStr = '\pi';
elseif strcmp(R,'-1'),
fracStr = '-\pi';
else
fracStr = [R,'\pi'];
end
else
leftStr = R(1:idxFrac-1);
rightStr = R(idxFrac:end);
if strcmp(leftStr,'1'),
fracStr = ['\pi' rightStr];
elseif strcmp(leftStr,'-1'),
fracStr = ['-\pi' rightStr];
else
fracStr = [leftStr '\pi' rightStr];
end
end
titleStr = sprintf('Output x = %s',fracStr);
% plot(...);
title(titleStr);
DEBARSHI MAJUMDER
DEBARSHI MAJUMDER am 11 Mär. 2020

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Labels and Annotations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by