49 lines
1.0 KiB
C
49 lines
1.0 KiB
C
#include <stdio.h>
|
|
#include "matrixOp.h"
|
|
|
|
int main() {
|
|
// Erstellt zwei 2x3-Matrizen mit aufsteigenden Werten
|
|
Matrix *a = CreateMatrix(2, 3, 1.0); // 1.0, 2.0, 3.0, 4.0, 5.0, 6.0
|
|
Matrix *b = CreateMatrix(2, 3, 7.0); // 7.0, 8.0, 9.0, 10.0, 11.0, 12.0
|
|
|
|
Matrix *c, *d, *e, *f;
|
|
|
|
printf("Matrix a:\n");
|
|
PrintMatrix(a);
|
|
|
|
printf("Matrix b:\n");
|
|
PrintMatrix(b);
|
|
|
|
// Addition: a + b
|
|
c = AddMatrix(a, b);
|
|
printf("a + b:\n");
|
|
PrintMatrix(c);
|
|
|
|
// Subtraktion: a - b
|
|
d = SubMatrix(a, b);
|
|
printf("a - b:\n");
|
|
PrintMatrix(d);
|
|
|
|
// Transponieren von a
|
|
e = TransposeMatrix(a);
|
|
printf("Transpose of a:\n");
|
|
PrintMatrix(e);
|
|
|
|
// Matrixmultiplikation: a * a^T
|
|
f = MulMatrix(a, e);
|
|
printf("a * a^T:\n");
|
|
PrintMatrix(f);
|
|
|
|
// Determinante der Ergebnismatrix (nur für 2x2 möglich)
|
|
printf("det(a * a^T): %.2f\n", DetMatrix(f));
|
|
|
|
// Speicher wieder freigeben
|
|
FreeMatrix(a);
|
|
FreeMatrix(b);
|
|
FreeMatrix(c);
|
|
FreeMatrix(d);
|
|
FreeMatrix(e);
|
|
FreeMatrix(f);
|
|
|
|
return 0;
|
|
} |