Der im Codebeispiel vorgestellten Funktion werden zunächst drei Parameter übergeben: Zuerst werden die beiden Signale, die untersucht werden sollen, in den Parametern namens s und t übergeben. Im Regelfall handelt es sich bei den Signalen um Arrays oder Vektoren. Mit dem Parameter namens window kann spezifiziert werden, mit wie vielen anderen Elementen ein Matching stattfinden kann.
In der Funktion wird dann zunächst eine Matrix erstellt und mit dem Wert unendlich initialisiert. Der zentrale DTW-Schritt passiert in den letzten beiden verschachtelten For-Schleifen: Man addiert zu den bisherigen Kosten, die in der Variable costs gespeichert werden und die sich aus der Distanz der beiden Eingabewerte am jeweiligen Index zueinander ergeben, den Wert, der in der Variable last_min gespeichert ist.
Hierbei handelt es sich um einen Wert, der sich aufgrund des dynamischen Programmierens aus bereits berechneten Werten ergibt. Man wählt das Minimum aus den bereits zuvor berechneten, umliegenden Werten aus und addiert es zu den zuvor errechneten Kosten. Dieser Schritt entscheidet darüber, ob man zwei Elemente direkt matcht, ein Element hinzufügt oder aber ein Element löscht.
Nachdem die Funktion ausgeführt wurde, erhält man eine Distanzmatrix, aus der man den Warping-Pfad ablesen kann.