Получить диапазон, охватывающий 90% плавающих значений?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Получить диапазон, охватывающий 90% плавающих значений?

Сообщение Anonymous »

У меня есть массив, содержащий большое количество (300 000) значений с плавающей запятой. Я передаю этот массив в библиотеку диаграмм (ScottPlot), которая в основном работает нормально.
Проблема в том, что в данных могут быть «сбои» — я имею в виду, что я может иметь набор данных, в котором большая часть данных находится в диапазоне от -1000 до +1000 со случайными всплесками (несколько значений) < -100 000 или > +100 000. Когда это происходит, автоматическое масштабирование автоматически масштабируется до сбоев, и реальные данные трудно увидеть.
К сожалению, наборы данных не согласованы, поэтому, хотя набор данных A может иметь хорошие данные между -100 и +100 с пиками -10 000 и +10 000, набор данных B может иметь хорошие данные между -10 000 и +10 000 с пиками -1 000 000 и +1 0000 000, поэтому я не могу просто удалить все данные снаружи некоторые фиксированные ограничения перед вычислением минимального и максимального значения для масштабирования графика.
Существует ли алгоритм, который позволил бы мне вычислить наименьший диапазон (минимальные и максимальные значения), охватывающий 90% данных точек, и затем я бы установил ось Y диаграммы на эти минимальные/максимальные значения?
РЕДАКТИРОВАТЬ
Было высказано предположение, что мой вопрос Вычисление 90-го процентиля за время O(n), но, как я уже говорил в своем ответе, этот алгоритм (среди прочих) начинается с сортировки данных, и, как я упоминал в своем ответе, сортировка крайне неэффективна для этой задачи.

Подробнее здесь: https://stackoverflow.com/questions/789 ... -of-floats
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Макет наложения, охватывающий только половину экрана (полная высота, но половина ширины)
    Гость » » в форуме JAVA
    0 Ответы
    73 Просмотры
    Последнее сообщение Гость
  • Макет наложения, охватывающий только половину экрана (полная высота, но половина ширины)
    Гость » » в форуме Android
    0 Ответы
    61 Просмотры
    Последнее сообщение Гость
  • Virtualselectinput, охватывающий реагирующий
    Anonymous » » в форуме CSS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как создать блок макета CSS Grid, охватывающий 2 столбца и 2 строки?
    Anonymous » » в форуме CSS
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Квадрат минимальной площади, охватывающий K точек среди заданных N точек
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»