2017-05-08 3 views
1

J'ai une matrice de taille 1x50000v et je veux le convertir à zéro la variance moyenne et l'unité:Matlab est arrondi au plus proche entier

x = ((v-mean(v))/std2(v)); 

Mais au lieu de me donner des valeurs à virgule flottante exacte MatLab convertissant aux entiers les plus proches. S'il vous plaît aidez-moi à obtenir les valeurs exactes.

Répondre

1

Check the data type pour v. Je suis sûr que c'est un integer type, en utilisant l'arithmétique entière, ce qui explique pourquoi le résultat est un entier. Vous devez le convertir en floating point type pour effectuer des opérations en virgule flottante:

v = double(v);    % Convert v to a double-precision float 
x = ((v-mean(v))/std2(v)); % Result is now a double as well 
+0

Merci beaucoup –