Image первый: Как установить максимальное значение для гистограммы
Как вы можете видеть, у меня есть множество нормальных распределений. Была сделана обратная связь с тем, что эти графики должны быть «нормализованы», поскольку я понял, что значения сюжета установлены на какое-то максимальное значение и кривизна графика, установленного так, чтобы соответствовать этому. Цель состоит в том, чтобы сделать эти графики легче сравнивать визуально - я надеюсь, что это имеет смысл. Я использую histfit
для этого участка.
Вы знаете какой-либо метод, как я могу сделать эти графики более сопоставимыми таким образом?
EDIT: Поскольку это было отмечено как дубликат, на самом деле это не так. Я действительно не ищу, чтобы плотность вероятности соответствовала гистограмме, я хочу установить максимальное значение для каждой кривой плотности вероятности. Я знаю о рыночных темах, я просто не мог найти своего собеседника.
EDIT2:
Это exercpts из моего кода с решениями, которые они производят:
[f1,x1] = hist(data1);
[f2,x2] = hist(data2);
[f3,x3] = hist(data3);
avg = mean(data1);
stdev = std(data1);
VERT1 = sort(data1);
y1 = exp(- 0.5 * ((VERT1 - avg)/stdev) .^ 2)/(stdev * sqrt(2 * pi));
y11 = y1/max(data1);
avg = mean(data2);
stdev = std(data2);
VERT2 = sort(data2);
y2 = exp(- 0.5 * ((VERT2 - avg)/stdev) .^ 2)/(stdev * sqrt(2 * pi));
y22 = y2/max(data2);
%
avg = mean(data3);
stdev = std(data3);
VERT3 = sort(data3);
y3 = exp(- 0.5 * ((VERT3 - avg)/stdev) .^ 2)/(stdev * sqrt(2 * pi));
y33 = y3/max(data3);
Прямая ссылка для ясности: http://i.imgur.com/YPrcM3R.jpg
От this explanation я получаю это:
[f1,x1] = hist(data1);
[f2,x2] = hist(data2);
[f3,x3] = hist(data3);
avg = mean(data1);
stdev = std(data1);
VERT1 = sort(data1);
y1 = exp(- 0.5 * ((VERT1 - avg)/stdev) .^ 2)/(stdev * sqrt(2 * pi));
avg = mean(data2);
stdev = std(data2);
VERT2 = sort(data2);
y2 = exp(- 0.5 * ((VERT2 - avg)/stdev) .^ 2)/(stdev * sqrt(2 * pi));
avg = mean(data3);
stdev = std(data3);
VERT3 = sort(data3);
y3 = exp(- 0.5 * ((VERT3 - avg)/stdev) .^ 2)/(stdev * sqrt(2 * pi));
h1 = bar(x1,f1/trapz(x1,f1));hold on;
h2 = bar(x2,f2/trapz(x2,f2),'r');hold on;
h3 = bar(x3,f3/trapz(x3,f3),'g');hold on;
plot(VERT1,y1,'b-');hold on;
plot(VERT2,y2,'r-');hold on;
plot(VERT3,y3,'g-');hold off;
Каких результатов в:
Надеется, что это все объясняет.
Вы можете разделить каждый гистограмм на его максимальное значение ... –
Почему вы не можете просто масштабировать их? [нормализация звукового сигнала и возврат к исходному матлабу] (http://stackoverflow.com/q/22894559/2545927) может дать вам несколько советов. – kkuilla
Чтобы нормализовать гистограмму (или pdf), вы должны убедиться, что ее _area_ равно 1. См. Например [здесь] (http://stackoverflow.com/questions/5320677/how-to-normalize-a-histogram-in-matlab) –