Поддерживает ли MATLAB поддержку хэш-таблиц?
Некоторый фон
Я работаю над проблемой в Matlab, которая требует масштабного представления изображения. Для этого я создаю двухмерный гауссовский фильтр с дисперсией sigma*s^k
для k
в некотором диапазоне., А затем я использую каждый по очереди для фильтрации изображения. Теперь я хочу, чтобы какое-то отображение из k
в отфильтрованное изображение.
Если k
всегда было целым числом, я бы просто создал 3D-массив, который:
arr[k] = <image filtered with k-th guassian>
Однако k
не обязательно является целым числом, поэтому я не могу этого сделать. То, что я думал о том, чтобы сохранить массив k
, такой, что:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
Это кажется очень хорошим с первого взгляда, за исключением того, что я буду делать этот поиск потенциально несколько тысяч раз с примерно 20 или 30 значениями k
, и я боюсь, что это повредит производительности.
Интересно, не лучше ли мне это сделать с хеш-таблицей какого-то типа, чтобы у меня было время поиска, которое есть O (1), а не O (n).
Теперь я знаю, что мне не следует оптимизировать преждевременно, и у меня может не быть этой проблемы вообще, но помните, что это всего лишь фон, и могут быть случаи, когда это действительно лучшее решение, независимо от того, это лучшее решение для моей проблемы.