Schnelle assoziative arrays oder maps in Matlab

Ich brauchen, um zu bauen ein schnell eins-zu-eins-Zuordnung zwischen zwei großen arrays von zahlen in Matlab. Sollte die Zuordnung nehmen Sie als Eingabe ein element aus einem vordefinierten array, z.B.:

in_range    = [-200   2  56   45 ... ];

und ordnen Sie Sie, indem Sie den index in das Vorherige array, auf das entsprechende element aus einem anderen vordefinierten array, z.B.:

out_range   = [-10000 0  97   600 ... ];

Beispielsweise im obigen Fall my_map(-200) ausgeben sollte -10000, und my_map(45) ausgeben sollte 600.

Brauche ich eine Lösung, die

  1. Können anzeigen von sehr großen arrays (~100K Elemente) relativ effizient.
  2. Skaliert gut mit den Grenzen der in_range und out_range (d.h. Ihre min und max Werte)

So weit, ich habe das problem gelöst mit Hilfe von Matlab die externe Schnittstelle zu Java mit Java HashMaps, aber ich Frage mich, ob es eine Matlab-native alternative.

Dank!

  • mögliche Duplikate von Hash-Tabellen in Matlab
  • Die Antworten auf das doppelte (andere als meine) sagen Ihnen alles, was Sie wissen müssen.
Schreibe einen Kommentar