Czy MATLAB obsługuje tabele skrótów?
Jakieś tło
Pracuję nad problemem w Matlabie, który wymaga odwzorowania obrazu w skali. W tym celu należy utworzyć filtr 2-D Gaussa z wariancji sigma*s^k
za k
w pewnym przedziale., A potem wykorzystać każdą z nich z kolei do filtrowania obrazu. Teraz chcę jakieś mapowanie z k
do przefiltrowanego obrazu.
Gdyby k
zawsze była liczbą całkowitą, po prostu utworzyłbym tablicę 3D, która:
arr[k] = <image filtered with k-th guassian>
Jednak k
niekoniecznie jest liczbą całkowitą, więc nie mogę tego zrobić. Pomyślałem o utrzymaniu takiej tablicy k
, która:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
Na pierwszy rzut oka wydaje się to całkiem niezłe, z wyjątkiem tego, że przeprowadzę to wyszukiwanie potencjalnie kilka tysięcy razy z około 20 lub 30 wartościami k
i obawiam się, że zaszkodzi to wydajności.
Zastanawiam się, czy nie byłoby lepiej, gdyby robił to z jakąś tablicą mieszającą, tak żebym miał czas wyszukiwania, który wynosi O (1) zamiast O (n).
Teraz wiem, że nie powinienem optymalizować przedwcześnie i może w ogóle nie mam tego problemu, ale pamiętaj, że to tylko tło i mogą być przypadki, w których to naprawdę najlepsze rozwiązanie, niezależnie od tego, czy jest to najlepsze rozwiązanie mojego problemu.