G Siebte¨Ubungseinheit

Werbung
G
Siebte Übungseinheit
Inhalt der siebten Übungseinheit:
• Fourier-Analyse
• Eigenwertaufgaben
G.1
Fouriertransformation
Fourier-Analyse kann in einem Datensatz
periodische Effekte erkennen und aus dem
Hintergrund-Rauschen herausfiltern.
Aufgabe 61
Signals
3
Fourier-Analyse eines
2
1
Erzeugen Sie 2000 Datenpunkte für ein periodisches Signal im Zeitbereich 0 ≤ t ≤ 30. In
diesem Beispiel enthält das Signal zwei verschiedene Schwingungsfrequenzen:
0
-1
-2
N=2000;
t = linspace(0,30,N);
y = sin(t)+2*sin(3*t+5);
plot(t,y)
-3
0
5
10
15
20
25
30
Stören Sie dieses Signal nun durch zufällige
Schwankungen (Rauschen, noise). In diesem
Fall sind es normalverteilte Schwankungen
mit Mittelwert 0 und Standardabweichung 3:
y = y+3*randn(1,N);
plot(t,y)
Wenn Sie den Zufallsterm nicht mit 3, wie
hier im Beispiel, sondern mit 0.5 oder mit 5 multiplizieren, sehen Sie ein mehr oder weniger
verrauschtes Signal.
Eine Fast-Fourier-Transformation zerlegt dieses Signal in eine Summe von Sinus- und
Cosinusschwingungen unterschiedlicher Frequenzen und berechnet die Amplitude jedes
Frequenz-Beitrages.
15
10
5
Y = fft(y);
0
Der Y-Vektor enthält komplexe Zahlen. Der
Absolutbetrag enthält die Information über
die Amplitude der verschiedenen FrequenzBeiträge. Genauer: Real- und Imaginärteil geben jeweils die Amplitude der Cosinus- und
der Sinusschwingung mit dieser Frequenz.
-5
-10
-15
0
Wichtige Kenngröße dabei ist die Abtastfrequenz fs (sampling rate, sampling frequency), das ist die Anzahl der Datenpunkte pro
Sekunde. In unserem Beispiel sind das 1999
152
5
10
15
20
25
30
Punkte in 30 Sekunden (warum nicht 2000 Punkte? Der letzte Datenpunkt zählt bei der
Frequenz-Berechnung nicht mehr!).
Es gilt bei Datenvektoren der Länge N mit N geraddzahlig: Die Real- und Imaginärteile
der Fourier-Terme Y(2) bis Y(N/2+1), mit 2/N multipliziert, geben die Cosinus- und SinusAmplituden zu den Frequenzen fs /N bis fs /2 an. Ein Sonderfall ist der Term Y(1): er gibt den
Mittelwert des Signals an.
Das hört sich komplizierter an als es ist. Ein einfacher Befehl stellt den Zusammenhang zwischen
Datenpunkt-Index und Frequenz her:
fs = (N-1)/30; % sampling frequency
f = linspace(0,fs/2,N/2+1); % die zu Y gehoerigen Frequenzen
Wenn wir nur an den Frequenzen, und nicht an der genauen Zuordnung zu Sinus- und CosinusAnteil interessiert sind, reicht die Absolutbetrag-Information:
plot(f,abs(Y(1:N/2+1)))
Der Plot zeigt Rauschen im Frequenzbereich
1-33 Hz. Aber bei niedrigen Frequenzen gibt
es zwei deutliche Peaks. Zoomen Sie in den
Bereich von 0 bis 1 Hz. Können Sie einen
Zusammenhang zu den Frequenzen des ursprünglichen Signals herstellen?
1.8
1.6
1.4
1.2
Sie haben nun die Möglichkeit, das hochfrequente Rauschen herauszufiltern und so das
ursprüngliche Signal zu rekonstruieren. Dazu
behalten Sie (im aller-einfachsten Fall) im YVektor nur die ersten k+1 Werte und die letzten k Werte und setztn den Rest auf 0. Eine
inverse Fourier-Transformation rekonstruiert
aus der Information im Frequenz-Bereich das
ursprüngliche Signal im Zeit-Bereich:
1
0.8
0.6
0.4
0.2
0
0
5
10
15
20
25
30
35
k=50;
Y(k+1:end-k-1)=0;
z=ifft(Y);
plot(t,z)
Die Abbildung hier zeigt: das Filtern hat noch
nicht optimal funktioniert. Experimentieren
Sie mit verschiedenen k-Werten und finden
Sie einen k-Wert, der das unverrauschte Signal möglichst gut wiederherstellt.
5
4
3
2
Aufgabe 62
Approximation
Funktion durch Fourierreihe
einer
1
0
-1
Gegeben ist die Funktion y = exp(t) für −1 ≤
t ≤ 1.
-2
-3
Approximieren Sie diese Funktion durch Fou-4
0
rierreihen mit 1,2,5,10,. . . Termen. Verwenden
Sie dazu Matlabs symbolische Integration,
um die Fourierkoeffizienten zu finden.
Fourierreihen sind in diesem Fall nicht unbedingt die günstigste Wahl. Beurteilen Sie das
Konvergenzverhalten. Welches Phänomen erkennen Sie?
153
5
10
15
20
25
30
Je nachdem, wo man nachschaut, sehen die Formeln anders aus (oder enthalten leider, wie in
älteren Vorlesungsunterlagen, Tippfehler). Verwenden Sie daher diese Formeln
Fourierreihenentwicklung einer periodischen Funktion f (t) mit Periode T :
f (t) =
a0
2π
2π
2πn
+ a1 cos( t) + a2 cos( 2t) + · · · + an cos(
t) + · · ·
2
T
T
T
2π
2πn
2π
t) + · · ·
+ b1 sin( t) + b2 sin( 2t) + · · · + bn sin(
T
T
T
mit
an =
G.2
2
T
Z
T
2
f (t) · cos(
− T2
2πn
t) dt
T
bn =
2
T
Z
T
2
f (t) · sin(
− T2
2πn
t) dt
T
Eigenwerte und Eigenvektoren
MATLAB-Befehle:
d = eig(A) liefert Vektor von Eigenwerten
[V,D] = eig(A) Spalten von V sind Eigenvektoren, Diagonalelemente von D sind Eigenwerte.
Ein interaktives, recht lehrreiches Beispiel zu Eigenvektoren liefert der MATLAB-Befehl eigshow.
Geben Sie diesen Befehl im Befehlsfenster ein.18
Bewegen Sie den Vektor x und beobachten Sie, wie sich Ax
entsprechend ändert. Drehen Sie den Vektor x so, dass er
zu Ax parallel liegt. Jeder solche Vektor x ist ein Eigenvektor der Matrix A.
Das Ergebnis Ax ist in diesem Fall ein Vielfaches der Ausgangsvektors, es gilt also die Gleichung
Ax = λx .
Der Proportionalitätsfaktor λ ist der zu x gehörende Eigenwert von A.
Die Matrix A können Sie im Fenster oben aus einer Liste wählen. Voreingestellt ist
1 1 3
.
A=
4 4 2
• Finden Sie für die obige Matrix A Eigenvektoren. Lesen Sie die Komponenten von x ab
und schätzen Sie λ. Wie viele verschiedene Werte von λ gibt es hier?
• Vergleichen Sie mit dem Resultat des Befehls [V,D] = eig(A).
• Versuchen Sie andere Matrizen aus der Liste. Nicht immer können Sie Eigenvektoren
finden. Was liefert [V,D] = eig(A) in solchen Fällen?
• Im Normalfall (bei regulärer Matrix A) beschreibt Ax eine Ellipse, wenn Sie x bewegen.
Singuläre Matrizen bilden die Ausnahme. Sie haben λ = 0 als Eigenwert. Wie sieht die
Bahn von Ax dann aus? Finden Sie eine Beispielmatrix aus der Liste.
Aufgabe 63
Spannungstensor, Hauptachsentransformation
18 Die aktuelle MATLAB-Hilfe (R2013a) findent eigshow nicht. Der Eintrag ist sehr gut versteckt unter „MATLAB“, Registerkarte „Examples“, drei Bildschirmseiten nach unten scrollen, unter dem Link „Eig. & Singular
Value Show“.
154
Diese Aufgabe testet, ob Sie die MATLAB-Befehle aufrufen und deren Ergebnisse interpretieren
können.
Reine Druck- oder Zugkräfte wirken normal zur Fläche, reine Scherkräfte parallel dazu. Im allgemeinen Fall stellt der Spannungstensor den Zusammenhang zwischen Flächennormalrichtung
und Kraftrichtung her:
Kraftrichtung ∼ Spannungstensor mal Normalenvektor
In einem geeignet gedrehten Koordinatensystem nimmt der Spannungstensor Diagonalgestalt
an. Die Achsen dieses Koordinatensystems sind die Hauptachsen des Spannungstensors. Sie
zeigen in Richtung seiner Eigenvektoren. Der diagonalisierte Spannungstensor enthält die Eigenwerte in der Hauptdiagonalen.
Der Spannungstensor in einem Material sei (in willkürlichen Einheiten)

5
p =  10
−8
10
2
2

−8
2 .
11
a) In welcher Richtung wirkt die Kraft auf die xy-Ebene? —auf die Ebene x + y + z = 0?
(Dazu brauchen Sie noch keine Eigenwerte.)
b) In welche Richtungen zeigen die Hauptachsen des Spannungstensors (format rat liefert
„schöne“ Zahlen)? Wie lautet der auf Diagonalgestalt transformierte Tensor?
c) In zwei Richtungen wirkt reine Zug-, in einer reine Druckspannung (Vorzeichenkonvention
bei den Diagonaltermen des Spannungstensors: Druck ist negativ19 . In welcher Richtung
wirkt
— die größere Zugspannung?
— die kleinere Zugspannung?
— die Druckspannung?
Aufgabe 64
Bildungsmobilität zwischen den Generationen
Es hängt stark von der sozialen Herkunft ab, welche Ausbildung Kinder und Jugendliche erhalten. Die Abbildung20 zeigt aktuelle Daten aus Österreich.
19 wie
auch sonst im Leben: Prüfungsdruck, Leistungsdruck, Erfolgsdruck,. . .
Bildung in Zahlen 2010/11, Schlüsselindikatoren und Analysen. Statistik Austria, Wien, 2012
20 Quelle:
155
Erstellen Sie aus diesen Daten eine Matrix A = [aij ], in der das Element aij angibt:
aij = Anteil der Kinder, die Ausbildung i ereichen, deren Eltern Ausbildung j
haben.
Der Balken ganz links in der Graphik gibt den Ist-Zustand (Bildungsniveau der Jugendlichen
insgesamt) an. Setzen Sie diese Daten in einen Vektor x(1) ein. Angenommen, das Bildungsniveau der Eltern insgesamt ist durch einen Vektor x(0) beschrieben (diese Daten lassen sich
nicht direkt aus der Grafik ablesen).
a) Begründen Sie: Das Bildungsniveau der nächsten Generation insgesamt errechnet sich
durch Matrix-Vektor-Multiplikation x(1) = A · x(0) .
b) Berechnen Sie x(0) aus den gegebenen Daten für A und x(1) .
c) Berechnen Sie, ausgehend von x(1) , den Zustand nach 1, 2 und 3 weiteren Generationen;
d) Ein stabiler Zustand besteht, wenn sich von einer Generation zur nächsten nichts ändert.
Begründen Sie: dabei handelt es sich um einen Eigenvektor von A. Berechnen Sie den
stabilen Zustand.
Aufgabe 65
AHP – Analytic Hierarchy Process
Seit den 1990er-Jahren wird im Operations Research AHP zur Entscheidungsfindung immer
populärer; hoffentlich nicht bloß deswegen, weil Anwender sich auf folgende Logik stützen:
Korrekte Entscheidungen sind schwierig.
Matrixalgebra ist schwierig.
Daher kann Matrixalgebra korrekte Entscheidungen treffen.
Angenommen, Sie sollen entscheiden: „Wohin gehen wir Freitag Abend feiern?“. Zur Wahl stehen: Arkadenhof, Ristorante Antonio, Gösser Bräu. Zur Entscheidungsfindung mittels Analytic
Hierarchy Process vergleichen und bewerten Sie die Lokale zuerst paarweise. (Der direkte Vergleich zweier Alternativen fällt den meisten Leuten leichter, als eine Rangordnung mehrerer
Möglichkeiten zu erstellen.)
156
Skalenwert
1
3
5
2, 4
Dabei gilt die nebenstehende Skala:
Die Original-Methode verwendet Werte von 1–9; wir haben die Skala hier der Problemstellung angepasst.
Bedeutung
gut
besser
gösser
Zwischenwerte
Damit erstellen Sie eine Bewertungsmatrix: Der Eintrag in Zeile i, Spalte j bewertet, wie stark
Alternative i gegenüber j bevorzugt wird. Wichtig dabei: der ji-Eintrag ist der Reziprokwert
vom ij-Eintrag.
Jemand, der 2-mal lieber in den A-Hof als ins Ristorante Antonio geht und dem das Gösser Bräu 3-mal lieber als der AHof und 5-mal lieber als das Antonio ist, würde daher diese
Matrix erstellen.
AH
RA
GB
AH
1
1/2
3
RA
2
1
5
GB
1/3
1/5
1
Der Mathematiker Thomas L. Saaty, Entwickler von AHP, argumentiert, dass der Eigenvektor zum betragsgrößten Eigenwert dieser Matrix die beste Bewertung der Prioritäten angibt.
Trotzdem sollten Sie dieser Methode keine übersinnliche Prognosequalität zuschreiben, es gilt
vielmehr das EMEM-Prinzip: Eingabe Mist–Ergebnis Mist 21
Berechnen Sie zur obigen Bewertungsmatrix den (auf Komponenten-Summe 1 normierten) Eigenvektor zum größten Eigenwert. Interpretieren Sie diesen Vektor als Prioritäten-Gewichtung.
Sie bemerken bei diesem Beispiel: Eigenwerte und -vektoren können auch komplex sein. Bei Matrizen mit ausschließlich positiven Einträgen sind aber garantiert der betragsgrößte Eigenwert
und alle Komponenten eines zugehörigen Eigenvektors reell und positiv. In unserem Beispiel
berechnet MATLAB den betragsgrößten Eigenwert an erster Stelle. Mit [V,D]=eig(A) ist automatisch V(:,1) der gesuchte Eigenvektor - er muss nur noch passend skaliert werden, damit
die Summe der Komponenten 1 ergibt.
Aufgabe 66
Schwingungsgleichung
Die Eigenschwingungsformen und zugehörigen Frequenzen einer schwingenden Saite lassen sich
näherungsweise aus dem Eigenwertproblem
Ax = λx
bestimmen. Man denkt sich die Saite dazu in n Einzelmassen, wie Perlen auf einer Schnur,
zerlegt. Für grosse n nähert sich die Perlenschnur einer kontinuierlichen Massenverteilung an.
Die n × n Matrix A hat Tridiagonal-Form.


2 −1
0
0 ...
0
 −1
2 −1
0 ...
0 


 0 −1
2
−1
.
.
.
0 


..
..  .
..
..
..
A=

.
.
.
.
. 




..

.
−1
2 −1 
0 ...
0 −1
2
Hat die Saite die Länge ` und Wellenausbreitungsgeschwindigkeit c , dann ist die Eigenschwingungsfrequenz ν(in Hz) bestimmt durch
ν=
n + 1√ c
λ
2π
`
Dem kleinsten Eigenwert von A entspricht die Frequenz der Grundschwingung, die weiteren Eigenwerte entsprechen den Obertönen.
Erstellen Sie für n = 5, 10, 20 die Matrix A, setzen Sie der Einfachheit halber c/` = 1 und berechnen Sie die Frequenzen der Grundschwingung
21 Fachsprachlich:
GIGO (Garbage in – Garbage out)
0.4
0.3
0.2
0.1
0
−0.1
157
−0.2
−0.3
−0.4
0
2
4
6
8
10
12
14
16
18
20
und der ersten drei Oberschwingungen. Zeichnen
Sie für n = 20 die entsprechenden Eigenvektoren;
sie geben die Schwingungsformen an. Siehe Abbildung!
Aufgabe 67
Vektoriteration
Was passiert, wenn man einen Vektor wieder und
wieder mit derselben Matrix multipliziert? Testen
Sie für den Vektor x = (1,0,0)T und die Matrix A

8 1
A = 3 5
4 9

6
7
2
Wenn man den Befehl x = A*x zehnmal iteriert, werden die Zahlen in x schon recht groß.
Dividieren Sie nun zusätzlich in jedem Schritt den Vektor x nach der Multiplikation mit A durch
seine erste Komponente. Das ändert nicht die Richtung von x, hält aber die Zahlenwerte der
Komponenten in übersichtlichen Grenzen. Sie können das in der Form >> y=A*x; x = y/y(1)
im Workspace durchspielen. Was beobachten Sie? Zu welchem Wert konvergiert y1 ?
Iterieren Sie, beginnend mit dem Startvektor x = (1,0,0)T ,
>> y=A\x; x = y/y(1)
Zu welchem Wert konvergiert y1 ?
Vergleichen Sie: Für diese Matrix berechnet das Skriptum auf Seite 51 (Ausgabe 2016) die
Eigenwerte aus dem charakteristischen Polynom. Im Skriptum auf Seite 53 ist eine Variante der
Vektoriteration hervorgehoben, die komplizierter ausschaut. Das liegt daran, dass die einfache
Skalierung x = y/y(1) nicht funktioniert, falls y(1) = 0. Die Variante des Skriptums kommt
mit solchen Sonderfällen zurecht. Für Übungs- und Prüfungsbeispiele können Sie aber auch die
obige simple Variante verwenden.
Aufgabe 68
Erreichbarkeit in einem Netzwerk
Ein Netzwerk (Verkehrsverbindungen, verlinkte Seiten im Internet, soziales Netz. . . , mathematisch: ein Graph) lässt sich durch seine Adjazenzmatrix beschreiben22 (Siehe Folien 8. Vorlesung 2016).
(a) Stellen Sie zum nebenstehenden Netzwerk die
(01)-Adjazenzmatrix A auf und berechnen Sie den
Eigenvektor zum größten Eigenwert. Wie ordnet
dieser Vektor die Knoten im Netz nach dem Grad
ihrer „Erreichbarkeit“?
(0)
(b) Beginnen Sie mit einem Vektor x aus lauter
Einsen und führen Sie zehn Schritte der Vektoriteration durch. Was erhalten Sie dadurch näherungsweise? Welches Maß für „Vernetzung“ oder
„Erreichbarkeit ist durch Ax(0) definiert?
1
8
7
3
2
6
5
4
22 Die Idee, Links zwischen Internet-Seiten auf diese Art mathematisch zu untersuchen, war 1997 Bestandteil
einer akademischen Forschungsarbeit an der Stanford University. Der Student, der damals dran gearbeitet hat
(ein gewisser Larry Page), hat bis heute seine Dissertation nicht abgeschlossen. Aber Sie können ja googeln, ob
er es inzwischen doch zu etwas gebracht hat.
158
Herunterladen