how to consider only the integer part discarding the exponent part
Afficher commentaires plus anciens
Suppose i have a= [1 23 56]*10^(-9);
i want to acccess only the integer part that is 1 23 and 56.
i want to find the max(a). That is the output should be 56.
Réponses (2)
What you can do is multiply "a" with 10^9 first and then proceed to find max(a). Like this :
a = [1 23 56]*10^(-9); % given array
a_int = int64(a*10^9); % convert to integer array
max_a = max(a_int); % find maximum value
disp(max_a);
Star Strider
le 2 Juin 2023
Modifié(e) : Star Strider
le 2 Juin 2023
This appears to be a reasonably robust approach —
a = [1 23 56]*10^(-9);
b = a.*10.^ceil(-log10(abs(a))+1)
max_a = max(b)
a = [1 23 56]*10^(-6);
b = a.*10.^ceil(-log10(abs(a))+1)
a = [1 23 56]*10^(10);
b = a.*10.^ceil(-log10(abs(a))+1)
a = [1 23 56]*10^(-1);
b = a.*10.^ceil(-log10(abs(a))+1)
EDIT — Corrected typographical error
.
Catégories
En savoir plus sur Get Started with MATLAB 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!