Matrizenmanipulation 1. Aufgabenstellung Erzeugen einer

Werbung
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
Herunterladen