is it possible to print 5decimal using disp commant
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
disp([x' u])
assume x and u are matrix
when i excute this, i get 0.9859.
i want to show with 5 decimal after point. 0.96875
2 commentaires
Mathieu NOE
le 18 Mai 2021
hello
you can use sprintf
% Examples
% sprintf('%0.5g',(1+sqrt(5))/2) % 1.618
% sprintf('%0.5g',1/eps) % 4.5036e+15
% sprintf('%15.5f',1/eps) % 4503599627370496.00000
% sprintf('%d',round(pi)) % 3
Rik
le 18 Mai 2021
@Mathieu NOE feel free to move your comment to the answer section, as I would say this is the answer.
@mehmet salihi you can either look at sprintf and fprintf or control the display of values in general with the format function.
Réponse acceptée
Image Analyst
le 19 Mai 2021
I'd use fprintf(), not sprintf(). fprintf() prints directly to the command window while sprintf() sends the result to a string. If you didn't specify a string, it will add "ans = " to the result, or the string variable name if you specified one, and enclose the number in single quote marks.
Compare these 3 different ways of doing it:
val = 0.96875123456789
fprintf('%.5f\n', val); % Method 1 using fprintf
sprintf('%.5f', val) % Method 2 using sprintf without assigning it to anything.
str = sprintf('%.5f', val) % method 3 using sprintf and assigning it to a variable called "str".
Results in command window:
0.96875
ans =
'0.96875'
str =
'0.96875'
2 commentaires
Rik
le 31 Mai 2021
Have you read the documentation for sprintf or fprintf?
Note that Matlab stores (and reads) arrays in column-major form, so you might need to transpose your matrix to get the expected result:
A=reshape(1:4,2,2);
disp(A)
fprintf('%d %d\n',A)
fprintf('%d %d\n',A.')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Rubik's Cube 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!