ZHAW, School of Engineering, SG ST MLAB, Übung 2 Übung 2: Funktionen mit Matrizen © M. Schlup, 27. Januar 2016 Aufgabe 1 Funktionen mit einer Matrix Für Matrizen gibt es verschiedene Funktionen welche hier teilweise ausprobiert“ werden sollen. Erzeu” gen Sie eine quadratische nxn-Matrix mit A=gallery('binomial',n) für verschiedene Werte von n (n ∈ IN). 1. Matrix-Division“ ” (a) Berechnen Sie die zu A inverse Matrix Ai=inv(A). (b) Berechnen Sie A\eye(size(A)) und eye(size(A))/A. (c) Bestimmen Sie die Determinante der Matrix mit detA=det(A). 2. Produkte Beschreiben Sie die Ergebnisse der folgenden MATLAB-Anweisungen: (a) A*A (b) Aˆ2 (c) Aˆ2/2ˆ(n−1) (d) A*Ai und Ai*A Aufgabe 2 Lineare Gleichungssysteme In dieser Aufgabe sollen lineare Gleichungssysteme von Typ Ax = b numerisch nach x aufgelöst werden. Die Systemmatrix A ist eine quadratische n×n-Matrix. Besteht der so genannte Störvektor b nur aus Nullen, so nennt man das Gleichungsssystem homogen, andernfalls inhomogen. Für die Lösungen müssen folgende Fälle unterschieden werden: • Matrix A regulär (Determinante verschieden von Null, Rang r = n) – Gleichungssystem homogen → nur triviale Lösung: x = 0 – Gleichungssystem inhomogen → eindeutige Lösung • Matrix A singulär (Determinante gleich Null, Rang r < n) – Gleichungssystem homogen → auch nichttrivial lösbar, allgemeine Lösung mit n−r Parameter – Gleichungssystem inhomogen → keine oder eine Lösung mit n − r Parameter 1 ZHAW, School of Engineering, SG ST MLAB, Übung 2 1. Voller Rang, gut konditioniert Erzeugen Sie die quadratische 3×3-Matrix A1=[1 1 1; 0 1 1; 0 0 1] und einen beliebigen 3×1-Spaltenvektor b=[.;.;.] mit mindestens einem Element verschieden von Null. (a) Bestimmen Sie die Determinante1 , den Rang2 und die Konditionszahl3 der Matrix: det(A1), rank(A1) und cond(A1). (b) Bestimmen Sie die Lösung x1 des Gleichungssystems A1 x1 = b. Dazu sollte nicht die von A1 inverse Matrix inv(A1) bestimmt werden, sondern der Backslash-Operator \ und die MatrixLinksdivision benutzt werden. (c) Überprfen Sie die Lösung durch Einsetzen in die Gleichung. Bilden Sie dazu die Differenz A1*x1 − b. 2. Voller Rang, schlecht konditioniert Erzeugen Sie die quadratische 3×3-Matrix A2=gallery(3). (a) Bestimmen Sie die Determinante, den Rang und die Konditionszahl der Matrix. (b) Bestimmen Sie die Lösung x2 des Gleichungssystems A2 x2 = b mit b wie in der Aufgabe oben. (c) Überprfen Sie die Lösung durch Einsetzen in die Gleichung. Bilden Sie dazu die Differenz A2*x2 − b. 3. unvollständiger Rang, homogenes Gleichungssystem (b = 0) Erzeugen Sie die quadratische 3×3-Matrix A3=[0 1 2; 2 3 4; 3 2 1]. (a) Bestimmen Sie die Determinante, den Rang und die Konditionszahl der Matrix. (b) Versuchen Sie eine Lösung x3 für das homogene Gleichungssystem A3 x3 = 0 zu finden4 . (c) Überprüfen Sie die Lösung x3 = a*[1;−2;1] durch Einsetzen in die Gleichung (a ist eine beliebige Konstante). Überprüfen Sie ob A3*x3 tatsächlich Null ist. Aufgabe 3 Verschachtelte Schleife Mit dem Matlab-Zufallsgenerator sollen n Punkte im 3-dimensionalen Raum erzeugt werden: x=rand(3,n). Bestimmen Sie alle n (n − 1)/2 Abstände q zwischen diesen Raumpunkten und zeichnen Sie das entspre- chende Histogramm. Der Abstand dk = (xi1 − x j1 )2 + (xi2 − x j2 )2 + (xi3 − x j3 )2 zwischen zwei Vektoren xi = (xi1 , xi2 , xi3 ) und x j = (x j1 , x j2 , x j3 ) kann mit der Funktion d(k)=norm(xi−xj) bestimmt werden. Ein Histogramm kann mit der Funktion hist(d,nbins) erzeugt werden, wobei nbins die Anzahl Wertebereiche des Histogramms bedeutet. Für die Anzahl Punkte n sollte eine Zahl zwischen 100 und 250 gewählt werden. Wie gross ist dabei n(n − 1)/2? 1 Mit der Determinante einer quadratischen Matrix kann überprüft werden, ob letztere invertierbar oder singulär (nichtinvertierbar) ist: ist die Determinante Null, so ist die Matrix singulär. 2 Ist der Rang r einer quadratischen n×n-Matrix gleich ihrer Dimension n, so ist sie invertiertbar, ist r < n, so ist die Matrix singulär. 3 Mit der Konditionszahl kann eine Voraussage gemacht werden, wie gut“ sich die Lösung eines Gleichungssystems nu” merisch berechnen lässt: je kleiner die Konditionszahl, desto sicherer das Ergebnis. 4 Eine Lösung verschieden von der trivialen Lösung x = 0 gibt es nur, wenn die Determinante der Matrix Null ist. 2 ZHAW, School of Engineering, SG ST MLAB, Übung 2 Aufgabe 4 Vektorielle Operationen Berechnen Sie die Fourier-Reihe eines periodischen, bipolaren Rechtecksignals mit Periodendauer T = bis zur n-ten harmonischen gemäss der folgenden Formel: x(t) = n X bk · sin (k · 2π f0 · t) 1 f0 (1) k=1 Die Ordnungszahl n soll dabei ungerade sein und das Signal soll für die dauer von 2 21 Perioden berechnet und graphisch dargestellt werden. Für die Signal-Amplitude ±X gilt für die Koeffizienten bk : 0 für k gerade bk = 4X kπ für k = 1, 3, . . . , n Die Summe nach Gleichung (1) soll direkt als Matrix-Produkt berechnet werden, d. h. ohne eine forSchleife zu benutzen. Dazu muss zuerst der Vektor der Koeffizeienten bk erstellt werden. Die geraden Koeffizienten sollen dabei Null gesetzt werden (cf. Funktionen find und mod). Im folgenden Listing sind die beiden fehlenden Zeilen (an den Stellen ???) einzufügen. Listing 1: Synthese eines periodischen Rechtecksignals aus den Fourier-Koeffizienten % EMAT Uebung 2, Aufgabe 3 % Fourier−Reihe eines bipolaren, periodischen Rechtecksignals % % ©2010, M. Schlup clear all, clc T=1; f0=1/T; w0=2*pi*f0; X=1; Nanf=−200; Nend=400; N=Nend−Nanf; nPer=2.5; t=(Nanf:Nend)*nPer*T/N; % % % % Periodendauer Grundfrequenz in Hz Grundkreisfrequenz in rad/s Signal−Amplitude +−X % Anzahl der dargestellten Perioden % Zeitvektor in s n=input('Maximale Ordungszahl = '); k=1:n; bk=4*X/pi./k; % Koeffizeienten bk % ??? ; % bk=0 fuer k=2,4,6,.. % ??? ; % Summe figure(1) plot(t/T,x) xlabel('\rightarrow Zeit in Anzahl Perioden') ylabel('\rightarrow Amplitude') title(['Fourier−Reihe, maximale Ordnungszahl: ',num2str(n)]) 3