Мне нужно построить fast отображение один-к-одному между двумя большими массивами целых чисел в Matlab. Отображение должно принимать в качестве входных данных элемент из заранее определенного массива, например ::10000
in_range = [-200 2 56 45 ... ];
и сопоставьте его по индексу в предыдущем массиве с соответствующим элементом из другого предварительно определенного массива, например ::
out_range = [-10000 0 97 600 ... ];
Например, в приведенном выше случае my_map(-200)
должно выдавать -10000
, а my_map(45)
должно выводить 600
.
Мне нужно решение, которое
- Может сравнительно эффективно отображать очень большие массивы (~ 100 тыс. Элементов).
- Хорошо масштабируется с границами
in_range
и out_range
(т.е. их значения min
и max
)
До сих пор я решил эту проблему, используя внешний интерфейс Matlab для Java с HashMaps Java , но мне было интересно, существует ли альтернатива Matlab-native.
Спасибо!