Fachbereich Grundlagenwissenschaften Prof. Dr. H. Dathe Autor: Mario Kellner Matrizenmanipulation 1. Aufgabenstellung Erzeugen einer M= A B C D (2n, 2n)-Matrix M mit folgender Struktur: Dabei ist: A eine (n, n)-Einheitsmatrix B eine Diagonalmatrix mit den d11 = 2, d22 = 4, ..., dnn = 2n C eine (n, n)-Matrix Hauptdiagonalelementen : bestehend aus den natürlichen Zahlen von 1 bis nn, die zeilen- weise, beginnend mit 1, in natürlicher Reihenfolge angeordnet sind D eine (n, n)-Matrix, deren Elemente zeilenweise angeordnet (mit der 1. Zeile be- ginnend), die alternierende Zahlenfolge : 1, Bildung der Summe aller Matrixelemente von 1 M −1, für 1, −1, .... bilden n = 10 2. M-File 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 % ################################################################# % % Allgemein : % Das Script erzeugt , die in der Aufgabenstellung geforderten , % Matrizen A ... D , M und bildet die Summe aller Elemente von M. % % Parameter : % n ( Skalar ) -> Dimension der quadratischen Matrix % % ################################################################# n =10; % Einheitsmatrix mittels eye () erzeugen A = eye (n , n) % Diagonalmatrix mittels diag () erzeugen % tmp -> Vektor [ 2 4 6 8 10 ... ] % diag (... ,0) -> Offset um die Diagonale waagrecht zu verschieben tmp =2:2:2* n; B = diag ( tmp ,0) % NxN Matrix aus einem Vektor mittels reshape () erzeugen % reshape (1: n*n ,...) -> Vektor der Form [ 1 2 3 4 5 ... n* n ] % reshape (... , n , n) -> Anzahl Zeilen , Spalten % abschlie ÿ end mit ' transponieren C = reshape (1: n*n ,n , n) ' % quadratische Matrix mittels ones () erzeugen % Elemente alternierend mit -1 ü berschreiben D = ones (n ); D (2:2: n* n) = -1; D =D ' % Die Matrizen A ,B ,C ,D werden in eine neue Matrix ü berf ü hrt M =[ A B ; C D ] % sum (M) -> spaltenweise Summierung aller Elemente % sum ( sum ( M) ) -> Summierung des resultierenden Spaltenvektors Summe = sum ( sum ( M)) 2