MATLAB supporta le tabelle hash?
Qualche sfondo
Sto lavorando a un problema in Matlab che richiede una rappresentazione in scala di un'immagine. Per fare questo creo un filtro gaussiano 2-D con varianza sigma*s^k
per un k
certo intervallo., E poi uso ciascuno di essi a turno per filtrare l'immagine. Ora, voglio una sorta di mappatura k
dall'immagine filtrata.
Se k
fosse sempre un numero intero, creerei semplicemente un array 3D tale che:
arr[k] = <image filtered with k-th guassian>
Tuttavia, k
non è necessariamente un numero intero, quindi non posso farlo. Quello che pensavo di fare era mantenere una serie di messaggi k
tale che:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
Il che sembra abbastanza buono a prima vista, tranne per il fatto che eseguirò questa ricerca potenzialmente alcune migliaia di volte con circa 20 o 30 valori di k
, e temo che ciò danneggi le prestazioni.
Mi chiedo se non sarei meglio servito a farlo con una tabella hash di qualche tipo in modo da avere un tempo di ricerca che è O (1) invece di O (n).
Ora, so che non dovrei ottimizzare prematuramente e potrei non avere affatto questo problema, ma ricorda, questo è solo lo sfondo e potrebbero esserci casi in cui questa è davvero la soluzione migliore, indipendentemente dal fatto che sia migliore soluzione per il mio problema.