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