Seite 1 von 1

Matrizen Multiplikation

Verfasst: Freitag 19. Mai 2017, 07:57
von Roman112
Schwierigkeit bei den Algorithmus Verfassung von zwei Algorithmen erste ist Divide and conquer. der Code für ist :

Code: Alles auswählen

# Algorithmen und Datenstrukturen
# Hausaufgabe 1 - Matrixmultiplikation
# Abgabedatum: 21.5.2017
#
# Gruppennummer: <Bitte eintragen>
# Gruppenmitglieder: 
# - <Bitte eintragen>
# - <Bitte eintragen>
# - <Bitte eintragen>

# Diese Funktion können Sie verwenden, um Matrizen auszugeben.
def printMatrix(m):
    for line in m:
        print('|', end='')
        i = 0
        for value in line:
            if (i > 0):
                print(' ', end='')
            print(value, end='')
            i = i + 1
        print("|")

# Implementieren Sie ab hier Ihre Lösungen:
def matMultDef(a, b):
    print('Parameter a:')
    printMatrix(a)
    print('Parameter b:')
    printMatrix(b)
    # hier soll Ihre Implementierung der Matrixmultiplikation laut Definition stehen.
    result = a  # durch das Ergebnis Ihrer Implementierung ersetzen
    return result

def matMultDC(a, b):
    print('Parameter a:')
    printMatrix(a)
    print('Parameter b:')
    printMatrix(b)
    # hier soll Ihre Implementierung der Matrixmultiplikation nach dem Paradigma "Teile und Herrsche"
    result = a  # durch das Ergebnis Ihrer Implementierung ersetzen
    return result

# Hier ist ein Testfall:
result = matMultDef(
[ # a
[3, 2, 1],
[1, 0, 2]
],
[ # b
[1, 2],
[0, 1],
[4, 0]]
)

print('berechnet:')
printMatrix(result)

# Das Ergebnis sollte folgende Matrix sein:
# [
# [7, 8],
# [9, 2]
# ]

Re: Matrizen Multiplikation

Verfasst: Freitag 19. Mai 2017, 08:08
von sebastian0202
Abgabe am Sonntag? Da erholt man sich und schläft aus.

Re: Matrizen Multiplikation

Verfasst: Freitag 19. Mai 2017, 08:11
von Zizibee
Wie lautet denn die Frage?

Re: Matrizen Multiplikation

Verfasst: Freitag 19. Mai 2017, 11:02
von BlackJack
Also meine Frage wäre warum Python verwendet wird, wenn dann so etwas wie diese `printMatrix()`-Funktion vorgegeben wird. Die sieht ja gruselig aus. Wenn man Python nicht kann oder will, nimmt man halt eine andere Sprache. :twisted:

Code: Alles auswählen

def print_matrix(matrix):
    print(
        '\n'.join(
            '|{0}|'.format(' '.join(str(value) for value in row))
            for row in matrix
        )
    )