Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Wie große Matriz schnell mit Konstanten multiplizieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.10.2014, 19:12 Uhr
~Nahibi
Gast


Hallo,

Ich möchte eine große Matrize mit Konstanten multiplizieren und dieses Ergebnis aufsummieren.
Mir geht es damit um Geschwindigkeit, gibt es in einen schnelleren Weg als das Beispielprogramm hier unten.

Wenn ihr mehr Informationen benötigt, einfach nachfragen.


C++:
double *Matriz = (double*)malloc(sizeof(double)*200*200*200*5);
double Konstante[5];
double Ergebnis;
int Speicher;

//Matriz wird per .dat Datei befüllt
//...

//Konstanten werden vom Benutzer per Console abgefragt
//...

//Schleife um die entsprechenden Matrizelemente mit der entsprechende Konstante zu multiplizieren und Aufsummierung des Ergebnisses
for (int W=0; W<200; W++) {
    for (int X=0; X<200; X++) {
        for (int Y=0; Y<200; Y++) {
            for (int Z=0; Z<5; Z++) {
                        Speicher = W*200*200*5+X*200*5+Y*5;
            Ergebnis += Konstante[Z] * Matriz[Speicher+Z];
        }
    }
}


-----
Edit: cpp-Tags eingefügt.

Dieser Post wurde am 15.10.2014 um 19:37 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.10.2014, 15:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,

naja da du jedes Element anfassen musst, wirds kaum eine effizientere Möglichkeit geben. Das einzige was du ändern kannst ist das du z.b den Strassen-Algorithmus benutzt, da hast du immerhin statt n^3 "nur" noch n^2.7 oder so
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: