Ich habe 100 dünn besetzte Matrizen der Größe N-by-N, wo N=65536
.Summe über Zell-Array von dünn besetzten Matrizen
Sie haben ungefähr 5.5M Nicht-Null-Elemente (0.13% von N^2) in der Nähe der Diagonalen.
Sie sind in einem Zellenfeld gespeichert, S{1}, ... , S{100}
, und ich möchte die Summe S{1}+...+S{100}
berechnen.
Sum=sparse(N,N);
for i=1:100
Sum=Sum+S{i};
end
Der obige for
Schleifencode dauerte etwa 25 Sekunden. Gibt es eine Möglichkeit, diesen Code zu optimieren?
Dieser Code sieht gut aus. Aber in meinem Computer dauerte die erste Zeile 200 Sekunden, und die letzte Zeile dauerte 450 Sekunden und wurde dann wegen Speichermangels gestoppt. :( – Gobi