2012-01-29 5 views
0

J'ai un tableau de taille a=<100x1 int32> tel que a(1)=2, a(2)=3 et ainsi de suite. Comment puis-je tracer un histogramme à partir de ces données. lorsque je tente directement de tracer à l'aide hist(a), il montre l'erreur suivanteComment tracer un histogramme du tableau

Error using .* 
Integers can only be combined with integers of the same class, or scalar doubles. 

également dans le cas où les données ne sont pas entier suppose a=<100x1 string> tel que a(1)='Saturday', a(2)='Monday' et ainsi de suite alors comment puis-je tracer un histogramme pour ces données .

+2

Avez-vous juste posé cette question ici: http://stackoverflow.com/questions/9055541/plotting-a-histogram-from-cellvalues? –

Répondre

3

Vous devez convertir vos données au double (ou simple, si vous êtes préoccupé par la mémoire) avant d'appeler hist:

hist(double(a)); 

Si vous voulez produire un histogramme de par exemple chaînes, vous pouvez utiliser grp2idx pour convertir les données en indices numériques.

data = {'a' 'b' 'a' 'c'}; 
%# convert to numeric 
[index,keys]=grp2idx(data) 
index = 
    1 
    2 
    1 
    3 
keys = 
    'a' 
    'b' 
    'c' 
%# plot histogram 
hist(index) 
Questions connexes