Seite 2 von 2

Verfasst: 17.07.2009 15:09
von Little John
2Froggerprogger:
Vielen Dank für die ganzen ausführlichen Erklärungen zu den Matrizen! Das interessiert mich auch.
Froggerprogger hat geschrieben:
wie soll ich denn PAM1^250 innerhalb von 10 Minuten ohne Hilfe ausrechnen?
Antwort: gar nicht
Aber das geht doch sicher mit Hilfe einer geeigneten PB-Routine, oder? ;-)
Hat schon jemand PB-Code zur Matrizen-Multiplikation geschrieben?

Gruß, Little John

Verfasst: 17.07.2009 17:12
von Froggerprogger

Code: Alles auswählen

; not tested, but... well it *should* work

Dim A.d(m,p) ; A = m x p - matrix
Dim B.d(p,n) ; B = p x n - matrix
Dim C.d(m,n) ; C = m x n - matrix.

(...) ; fill A and B

; calculate C = A*B
For i=0 To m-1
  For j=0 To n-1
    sum.d = 0
    For k=0 To p-1
     sum + A(i,k)*B(k,j)
    Next
    C(i,j) = sum
  Next
Next

(...) ; print C
:D

Dieses naive Verfahren braucht kubische Laufzeit, ist aber trotzdem für "kleine bis mittlere" Matrizen sehr schnell. Für "große" Matrizen gibt es weit schnellere Verfahren (z.B. mittels Strassen-Algorithmus).

Verfasst: 17.07.2009 18:53
von Little John
Bei kubischer Laufzeit bekomme ich leicht kalte Füße. ;-)
Aber Du hast natürlich völlig Recht, für kleinere Aufgaben ist das kein Problem.

Gruß, Little John

Verfasst: 18.07.2009 09:28
von DarkDragon
Hallo,

Danke für die Hilfe. Ich muss jetzt erstmal die Klausuren noch bestehen und dann werd ich mir in den Ferien das mal genauer ansehen.