Wenn ich ein Array wie folgt habe:
%Vor%Ich möchte "die Auflösung ändern" und am Ende ein kleineres Array haben (sagen wir 2 Zeilen mal 2 Spalten oder 2 Zeilen mal 4 Spalten usw.). Ich möchte, dass diese Lösungsänderung durch Addition geschieht. Ich brauche das, um mit großen Arrays zu arbeiten, die Anzahl der Zeilen, Spalten des kleineren Arrays wird immer ein Faktor des größeren Arrays sein.
Wenn man das obige Array auf ein 2 mal 2 Array reduziert, würde das (was ich will) ergeben:
%Vor%Ich habe diese Funktion, die es gut macht:
%Vor%Ich habe die Beispiele schon lange durchgesehen, kann aber nichts finden, was hilft.
Gibt es einen schnelleren Weg, dies zu tun, ohne die Schleifen zu brauchen?
Ich bin sicher, dass es einen besseren / intelligenteren Ansatz ohne all diese schrecklichen Schleifen gibt ...
Hier ist eine Möglichkeit, um das explizite Durchlaufen jedes Elements von data
zu vermeiden:
Auf meinem Rechner ist das ungefähr 30% schneller als Ihre Version (für shrink(a, 2, 2)
).