Unterstützt MATLAB Hash-Tabellen?
Einige Hintergrundinformationen
Ich arbeite an einem Problem in Matlab, das eine Skalierungsraumdarstellung eines Bildes erfordert. Zu diesem Zweck erstelle ich einen 2-D-Gauß-Filter mit einer Varianz sigma*s^k
für k
einen bestimmten Bereich. Anschließend filtere ich das Bild nacheinander. Jetzt möchte ich eine Art Zuordnung k
zum gefilterten Bild.
Wenn k
immer eine ganze Zahl wäre, würde ich einfach ein 3D-Array erstellen, so dass:
arr[k] = <image filtered with k-th guassian>
Ist k
jedoch nicht unbedingt eine Ganzzahl, daher kann ich dies nicht tun. Ich dachte daran, eine Reihe von k
s so zu halten, dass:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
Was auf den ersten Blick ziemlich gut erscheint, außer dass ich diese Suche möglicherweise einige tausend Mal mit etwa 20 oder 30 Werten von durchführen werde k
, und ich befürchte, dass dies die Leistung beeinträchtigen wird.
Ich frage mich, ob es mir nicht besser wäre, dies mit einer Hash-Tabelle zu tun, damit ich eine Suchzeit habe, die O (1) anstelle von O (n) ist.
Jetzt weiß ich, dass ich nicht vorzeitig optimieren sollte, und ich habe dieses Problem möglicherweise überhaupt nicht, aber denken Sie daran, dies ist nur der Hintergrund, und es kann Fälle geben, in denen dies wirklich die beste Lösung ist, unabhängig davon, ob es die ist beste Lösung für mein Problem.