Rounding Vector Entries with zeros after the decimal place to integers
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Eli Dim
le 7 Juil 2015
Réponse apportée : Titus Edelhofer
le 7 Juil 2015
I have a vector T (attached file) which is an input for a function. Row 44 is a problem for me (112.0000). How can I do a loop which says, if you have an entry in my vector which has only zeros after the decimal place, convert the number to an integer (112). If I do round, ceil etc. on vector T, my function afterwards works, however, the rounding leads to answers which are too far away from reality. Thank you for your help.
1 commentaire
Azzi Abdelmalek
le 7 Juil 2015
What is your problem? Do you just need to display your data the way you asked or what?
Réponse acceptée
Titus Edelhofer
le 7 Juil 2015
Hi,
use Azzi's answer if displaying of results is what you after. If you want to eliminate some numerical noise from values that should be integers (but leave the others untouched) do something like
v = [1.0000000001 2.3 3.4];
idx = abs(v-round(v))<1e-6;
v(idx) = round(v(idx));
Now v(1) is exactly one ...
Titus
0 commentaires
Plus de réponses (1)
Azzi Abdelmalek
le 7 Juil 2015
Modifié(e) : Azzi Abdelmalek
le 7 Juil 2015
sprintf('%d\n',T)
or
out=num2str(T)
0 commentaires
Voir également
Catégories
En savoir plus sur Logical 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!