scientific notation

i dont know why but matlab is printing out my y values in scientific notation which i do not want, how do i do that?
disp('table of degrees to radians')
disp(' degrees radians')
for i=0:1:36
x=5*i;
y=x*pi/180;
fprintf('\n %i %i',x,y);
end

 Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 1 Août 2011

0 votes

use %g instead of %i. See doc sprintf for more info.

Plus de réponses (2)

the cyclist
the cyclist le 1 Août 2011

0 votes

disp('table of degrees to radians')
disp(' degrees radians')
for i=0:1:36
x=5*i;
y=x*pi/180;
fprintf('\n %i %f',x,y); % Changed to %f
end

1 commentaire

Jan
Jan le 1 Août 2011
I think, Anna wants to display y as integer, not the other way around.

Connectez-vous pour commenter.

Jan
Jan le 1 Août 2011

0 votes

The %i format displays integer values as integers, but for fractional parts the scientific notation is used. If I understand you correctly, you want to display integer values for a non-integer DOUBLE:
for i=0:1:36
x = 5*i;
y = x*pi/180;
fprintf('\n %i %.0f', x, y);
% or: fprintf('\n %i %i', x, round(y));
end
See also: FLOOR, FIX.

Catégories

En savoir plus sur Functions dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by