Plot title sprintf format pi

12 vues (au cours des 30 derniers jours)
Nick Papanikolaou
Nick Papanikolaou le 23 Déc 2015
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);

Réponse acceptée

Kirby Fears
Kirby Fears le 23 Déc 2015
Modifié(e) : Kirby Fears le 23 Déc 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 commentaires
Kirby Fears
Kirby Fears le 24 Déc 2015
Modifié(e) : Kirby Fears le 24 Déc 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 le 11 Mar 2020

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Labels and Annotations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by