2013-12-19 3 views
0

Возможно ли, чтобы я получил среднее и стандартное отклонение для этой конкретной строки (bin) на гистограмме? Если да, какова функция или команда, которую я должен использовать?Получение среднего и стандартного отклонения от гистограммы

Например, Скажем, у меня есть матрица измерений (1000,1), и я хотел бы сгруппировать ее в гистограмме. Ось Y - это число измерений, а ось x - измерение. Для оси x мы будем иметь диапазон 0-9, 10-19, 20-29, 30-39 и так далее. Как я могу получить стандартное отклонение и среднее значение всего диапазона 20-29?

Я использую октаву. Благодарю вас.

+0

Извините, я забыл упомянуть об этом. Я использую Octave, кстати – user3082696

+0

Позволяет увидеть ваш код для вычисления гистограммы в первую очередь? – Dan

+0

Я использую функцию hist (x). – user3082696

ответ

4

Я сомневаюсь, что вы можете получить эту информацию из самой гистограммы, я думаю, вам нужно будет получить ее из ваших исходных данных.

data = rand(1000,1)*100; 

Извлечения данных, расположенные в вашем бен

data_subset = data(data >= 20 & data < 30); 

Тогда просто получить среднее и зОго

m = mean(data_subset); 
s = std(data_subset); 

Я думаю, вы хотите, чтобы получить все контейнеры сделаны в одном кадре и для этого вам понадобятся accumarray:

data = sort(data); 
bin_size = 10; 
subs = ceil(data/bin_size); 
M = accumarray(subs, data', [length(unique(subs)),1], @mean) 
S = accumarray(subs, data', [length(unique(subs)),1], @std) 
+0

Благодарим вас за предложение. Я думал, если можно напрямую получить среднее и стандартное отклонение от самого гистограммного бина. Неправильно нет = ( – user3082696

+1

@ user3082696 Я уверен, что вы не можете. Эта информация не находится в гистограмме. Но я добавил код для того, как получить его одним простым выстрелом, используя 'accumarray' – Dan

Смежные вопросы