2012-01-29 3 views
0

У меня есть массив размером a=<100x1 int32> такой, что a(1)=2, a(2)=3 и так далее. Как я могу построить гистограмму из этих данных. , когда я непосредственно попытаться построить с помощью hist(a), она показывает следующую ошибкуКак построить гистограмму из массива

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

Кроме того, в случае, если данные не целое число предположить a=<100x1 string> таким образом, что a(1)='Saturday', a(2)='Monday' и так далее, то как я могу построить гистограмму для этих данных ,

+2

Разве вы не задали этот вопрос здесь: http://stackoverflow.com/questions/9055541/plotting-a-histogram-from-cellvalues? –

ответ

3

Вы должны преобразовать данные в два раза (или одного, если вы беспокоитесь о памяти) перед вызовом hist:

hist(double(a)); 

Если вы хотите произвести гистограмму, например строки, вы можете использовать grp2idx для преобразования данных в числовые индексы.

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) 
Смежные вопросы