¨Ubung 2: Funktionen mit Matrizen

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