Нахождение, где две гистограммы пересекают пути - MATLAB - PullRequest
0 голосов
/ 21 ноября 2018

Я генерирую две гистограммы с использованием функции гистограмма из Matlab, которые оба нормализуются с помощью аргумента probability.

Однако, как только я генерирую две гистограммы, как показано ниже, я 'Я хотел бы иметь возможность найти точную точку, в которой гистограммы будут пересекать пути, предполагая, что гистограммы были нарисованы с использованием линий вместо столбцов.К сожалению, эта форма гистограммы не учитывает линии, она просто имеет столбцы.Существует функция hist, которой можно манипулировать в Matlab для рисования гистограммы в виде линий вместо столбцов, однако ее нелегко нормализовать.

Следовательно, в идеале, я хотел бы использовать histogram(), чтобы построить 2 гистограммы и найти, где они пересекаются.См. Изображение ниже:

enter image description here

Вот пример того, как могут быть созданы графики:

x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);
h1.Normalization = 'probability';
h1.BinWidth = 0.25;
h2.Normalization = 'probability';
h2.BinWidth = 0.25;

Теперь отсюда яхочу найти точку пересечения двух гистограмм.Обратите внимание, что значение пересечения является пересечением (в математическом смысле).Это не то, что я ищу.Я ищу координату х, где две гистограммы пересекаются на своих внешних границах.Например, в прикрепленном изображении ответ будет ~ 2.5.

1 Ответ

0 голосов
/ 21 ноября 2018

Из данных вашего примера, с простой модификацией:

x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);
h1.Normalization = 'probability';
h1.BinWidth = 0.25;
h1.BinLimits=[min([x(:); y(:)]) max([x(:); y(:)])];

h2.Normalization = 'probability';
h2.BinWidth = 0.25;
h2.BinLimits=[min([x(:); y(:)]) max([x(:); y(:)])];


data1=h1.Values;
data2=h2.Values;
intersection_value=find(data2>data1,1); % this is the index, bad variable name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...