Est-il possible dans matlab explicitement le format de sortie des numéros?
Je sais à propos de MATLAB format long, format court, fra ... et ainsi de suite. Mais à court et à long affichera toujours un nombre prédéfini de décimales, avec un exposant, et par exemple, format de la banque affiche toujours 2 décimales.
Est-il une option pour mettre votre format explicite, dans un "fortran chemin", comme la touche f8.3 --> 1234.678 ?
Je suis à la recherche d'un moyen pour afficher les nombres avec 4 décimales, et le reste à l'avance de la virgule, pas d'exposant.
OriginalL'auteur Rook | 2009-11-18
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas d'un moyen de spécifier un format global du type que vous voulez.
sprintf('%15.4f', x)
ounum2str(x, '%15.4f')
faire ce que vous recherchez, si vous n'avez pas l'esprit en les appelant explicitement à chaque fois.+1 pour l'effort (à la fois), et pourtant ...
+1. Je suis venu ici pour dire cela. Je tiens à souligner que fprintf peut être utilisée pour imprimer à la console en plus de la mise en forme. Vous pourriez faire une fonction d'impression( dbl ) qui ne fprintf(1,"%5.3 f\n",dbl) et d'utiliser printf, au lieu de la touche disp.
OriginalL'auteur mtrw
Selon la La documentation Matlab qui est disponible sur leur site, vous pouvez utiliser
pour définir le format d'affichage de la sortie n.4.
OriginalL'auteur trondd
Selon la documentation, il vous autorise à format le.
Aussi, la mise en forme est bien documentée.
Je ne suis pas sûr que vous pouvez le changer, ce serait probablement dans les options si elle est disponible. Vous pouvez imprimer le nombre formaté manuellement.
OriginalL'auteur monksy
Il y a deux solutions simples:
à l'aide de la sprintf fonction:
str = sprintf('%.4f', myNumber);
à l'aide de Java à base de formatage, ce qui est beaucoup plus puissant (plus d'informations):
str = char(java.texte.DecimalFormat('#.0000').format(myNumber));
OriginalL'auteur Yair Altman
Le plus proche que je pouvais venir, est:
Il vous donnera pas de E, et 2 décimales.
essayer de lire
à chercher d'autres options là-bas (je n'ai pas utiliser Matlab... plus basculé sur le Logiciel Libre 🙂 )
Octave de cours.
OriginalL'auteur Ofri Raviv
Je viens d'utiliser sprintf et num2str comme mtrw mentionné.
sprintf()
est destiné à de multiples scalaires arguments de types différents (il fonctionne w/matrices, mais pas vraiment de façon claire).num2str()
est conçu pour l'utilisation avec une seule matrice.OriginalL'auteur Jason S
Mettre sur le dessus de l'Matlab (.m) déposer la déclaration suivante "format shortG".
Exemple:
Plus d'options sont disponibles : Matlab format de sortie
OriginalL'auteur chrisber