Как масштабировать очень большие числа, чтобы они могли быть представлены в виде индекса массива? - PullRequest
0 голосов
/ 03 мая 2020

У меня есть двумерный массив размером 30 * 70.

У меня 70 столбцов. Мои значения очень велики в диапазоне от 8066220960081 до (некоторые числа с той же степенью 10, что и нижний предел), и мне нужно построить график рассеяния в массиве. Как мне индексировать в массив с очень большими значениями?

Кроме того, мне нужно сделать это в пространстве ядра

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

Я только что закончил делать регулярные интервалы между макс и мин, а затем начал с индекса мин + интервал *, чтобы получить число. index будет индексом в массиве.

0 голосов
/ 03 мая 2020

Давайте возьмем массив long long int A с большими значениями.

A[0] = 393782040
A[1] = 2*393782040
... and so on
A[N] = 8066220960081; where N = 30*70 - 1

Мы можем масштабировать A с коэффициентом или мы можем сместить A на определенное число и снова масштабировать его. Здесь вы можете работать с числами в диапазоне от 0 до 1 или от -1 до 1 или от x до y. Вы выбираете в соответствии с вашими потребностями. Теоретически, это не должно иметь никакого значения для графика рассеяния, кроме расположения оси. Однако, если ваш точечный график также является представителем базовых значений, то есть точки пропорциональны значениям; тогда будет хорошей идеей быть хорошим с вашим инструментом построения графиков и не заполнять его ужасно большими значениями, которые могут привести к переполнению в зависимости от того, как написан код для построения графиков.

PS: я полагаю, вы знаете, как выровнять 2d массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...