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