-1
Мне нужно рассчитать расстояние между двумя гистограммами с помощью C#. У кого-нибудь есть идея?Как рассчитать расстояние между двумя гистограммами
Мне нужно рассчитать расстояние между двумя гистограммами с помощью C#. У кого-нибудь есть идея?Как рассчитать расстояние между двумя гистограммами
Может быть
int distance = 0;
for (int i = 0; i < h1.Length; i++) {
distance += Math.Abs(h1[i] - h2[i]);
}
Или
int distance = 0;
for (int i = 0; i < h1.Length; i++) {
int diff = h2[i] - h1[i];
distance += diff*diff;
}
distance = Math.Sqrt(distance);
EDIT: В ответ на комментарий Эрик Липперт, я добавил квадратный корень, потому что это было бы вычислить расстояние в евклидовом векторном пространстве.
Этот вопрос является неопределенным. Какой формат представляют ваши гистограммы (два списка чисел?). Это также вопрос статистики, а не вопрос программирования. –
Обычно, когда мне нужно что-то развивать, я начинаю читать об этом. Затем я пытаюсь решить проблему самостоятельно. И если я столкнулся с трудностями, я задаю вопрос о StackOverflow, показывая свой прогресс, вещи, которые я прочитал и попробовал, и конкретную проблему, с которой я сталкиваюсь. И если у меня нет никакой подсказки или времени, я нанимаю разработчика, чтобы сделать эту работу для меня. Как насчет тебя? –
Определите гистограмму как точку в n-мерном векторном пространстве, а затем сопоставьте метрику с этим пространством. (например, евклидова метрика, метрика Манхэттена и т. д.). У вас будет метрическое пространство. (И я полагаю, это будет банахово пространство.) –