Wie die Verwendung einer look-up-Tabelle in MATLAB

Brauche ich zum ausführen eines exponentiellen Betrieb von zwei Parametern (ein Satz: t, und der andere kommt aus den arrays) auf einen Satz von 2D-arrays (eine 3D-Matrix, wenn Sie möchten).
f(t,x) = exp(t-x)
Und dann muss ich das Ergebnis jeden Wert in der 3. dimension. Denn es braucht zu viel Zeit mit bsxfun um die gesamte operation durchzuführen ich dachte an die Verwendung einer look-up-Tabelle.

Kann ich die Tabelle als matrix LUT (2-dimensional durch die zwei Parameter), dann kann ich abrufen der Werte mit LUT(par1,par2). Aber der Zugriff auf die auf der 3. dimension mit Hilfe einer Schleife, ist auch teuer.

Meine Frage ist: gibt es eine Möglichkeit zur Umsetzung eines solchen Mechanismus (look up table), um eine vordefinierte Werte und dann nur mit Zugriff auf matrix-Elemente (Art der Indexierung) ohne Schleifen. Oder, wie kann ich eine look-up-Tabelle, die MATLAB-Griffe automatisch, um die Geschwindigkeit des exponentiellen Betrieb?

BEARBEITEN:
Ich tatsächlich verwendet ähnliche Methoden, um die LUT. Nun, mein problem ist eigentlich, wie es in einer effizienten Art und Weise.

Lets sagte, ich habe ein 2-dimensionales array M. Mit diesen Werten möchte ich die Funktion anwenden f(t,M(i,j)) für festen Wert t. Kann ich eine Schleife verwenden, um durch alle gehen die Werte (i,j) von M. Aber ich will ein schneller Weg, es zu tun, weil ich einen Satz von M ist, und dann habe ich anwenden müssen Sie dieses Verfahren, um alle anderen Werte.

Meine Funktion ist ein wenig komplexer als das Beispiel, das ich gegeben:

pr = mean(exp(-bsxfun(@rdivide,bsxfun(@minus,color_vals,double(I)).^2,m)./2),3);

Dass ist meine eigentliche Funktion, wie Sie sehen können, ist komplexer als das Beispiel, das ich vorgestellt. Aber die Idee ist die gleiche. Es hat eine Durchschnittliche in der Dritten dimension der Menge M der Exponentialfunktion der Differenz von zwei arrays.

Hoffe, das hilft.

warum gehst du nicht nach dem code, den Sie bereits haben..
Sie wissen, dass exp(t-x)=exp(t)/exp(x) - und damit alles, was Sie brauchen, ist eine lookup-Tabelle für exp().

InformationsquelleAutor adn | 2010-10-15

Schreibe einen Kommentar