diff options
Diffstat (limited to '')
-rw-r--r-- | vorlesungen/slides/8/wavelets/Makefile | 8 | ||||
-rw-r--r-- | vorlesungen/slides/8/wavelets/ev.m | 97 | ||||
-rw-r--r-- | vorlesungen/slides/8/wavelets/fourier.tex | 19 | ||||
-rw-r--r-- | vorlesungen/slides/8/wavelets/funktionen.tex | 76 | ||||
-rw-r--r-- | vorlesungen/slides/8/wavelets/laplacebasis.tex | 62 | ||||
-rw-r--r-- | vorlesungen/slides/8/wavelets/vektoren.tex | 200 |
6 files changed, 462 insertions, 0 deletions
diff --git a/vorlesungen/slides/8/wavelets/Makefile b/vorlesungen/slides/8/wavelets/Makefile new file mode 100644 index 0000000..3b4a5ce --- /dev/null +++ b/vorlesungen/slides/8/wavelets/Makefile @@ -0,0 +1,8 @@ +# +# Makefile +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# + +vektoren.tex: ev.m + octave ev.m diff --git a/vorlesungen/slides/8/wavelets/ev.m b/vorlesungen/slides/8/wavelets/ev.m new file mode 100644 index 0000000..7f4dd55 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/ev.m @@ -0,0 +1,97 @@ +# +# ev.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# + +L = [ + 2, -1, 0, -1, 0; + -1, 4, -1, -1, -1; + 0, -1, 2, 0, -1; + -1, -1, 0, 3, -1; + 0, -1, -1, -1, 3 +]; + +[v, lambda] = eig(L); + +function knoten(fn, wert, punkt) + if (wert > 0) + farbe = sprintf("red!%02d", round(100 * wert)); + else + farbe = sprintf("blue!%02d", round(-100 * wert)); + end + fprintf(fn, "\t\\fill[color=%s] %s circle[radius=0.25];\n", + farbe, punkt); + fprintf(fn, "\t\\draw %s circle[radius=0.25];\n", punkt); +endfunction + +function vektor(fn, v, name, lambda) + fprintf(fn, "\\def\\%s{\n", name); + fprintf(fn, "\t\\coordinate (A) at ({0*\\a},0);\n"); + fprintf(fn, "\t\\coordinate (B) at ({1*\\a},0);\n"); + fprintf(fn, "\t\\coordinate (C) at ({2*\\a},0);\n"); + fprintf(fn, "\t\\coordinate (D) at ({0.5*\\a},{-\\b});\n"); + fprintf(fn, "\t\\coordinate (E) at ({1.5*\\a},{-\\b});\n"); + fprintf(fn, "\t\\draw (A) -- (B);\n"); + fprintf(fn, "\t\\draw (A) -- (D);\n"); + fprintf(fn, "\t\\draw (B) -- (C);\n"); + fprintf(fn, "\t\\draw (B) -- (D);\n"); + fprintf(fn, "\t\\draw (B) -- (E);\n"); + fprintf(fn, "\t\\draw (C) -- (E);\n"); + fprintf(fn, "\t\\draw (D) -- (E);\n"); + fprintf(fn, "\t\\node at (-2.8,{-0.5*\\b}) [right] {$\\lambda=%.4f$};\n", + round(1000 * abs(lambda)) / 10000); + w = v / max(abs(v)); + knoten(fn, w(1,1), "(A)"); + knoten(fn, w(2,1), "(B)"); + knoten(fn, w(3,1), "(C)"); + knoten(fn, w(4,1), "(D)"); + knoten(fn, w(5,1), "(E)"); + fprintf(fn, "}\n"); +endfunction + +function punkt(fn, x, wert) + fprintf(fn, "({%.4f*\\c},{%.4f*\\d})", x, wert); +endfunction + +function funktion(fn, v, name, lambda) + fprintf(fn, "\\def\\%s{\n", name); + fprintf(fn, "\t\\draw[color=red,line width=1.4pt]\n\t\t"); + punkt(fn, -2, v(1,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, -1, v(4,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, 0, v(2,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, 1, v(5,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, 2, v(3,1)); + fprintf(fn, ";\n"); + fprintf(fn, "\t\\draw[->] ({-2.1*\\c},0) -- ({2.1*\\c},0);\n"); + fprintf(fn, "\t\\draw[->] (0,{-1.1*\\d}) -- (0,{1.1*\\d});\n"); + for x = (-2:2) + fprintf(fn, "\t\\fill ({%d*\\c},0) circle[radius=0.05];\n", x); + endfor + fprintf(fn, "}\n"); +endfunction + +fn = fopen("vektoren.tex", "w"); + +vektor(fn, v(:,1), "vnull", lambda(1,1)); +funktion(fn, v(:,1), "fnull", lambda(1,1)); + +vektor(fn, v(:,2), "vone", lambda(2,2)); +funktion(fn, v(:,2), "fone", lambda(2,2)); + +vektor(fn, v(:,3), "vtwo", lambda(3,3)); +funktion(fn, v(:,3), "ftwo", lambda(3,3)); + +vektor(fn, v(:,4), "vthree", lambda(4,4)); +funktion(fn, v(:,4), "fthree", lambda(4,4)); + +vektor(fn, v(:,5), "vfour", lambda(5,5)); +funktion(fn, v(:,5), "ffour", lambda(5,5)); + +fclose(fn); + + diff --git a/vorlesungen/slides/8/wavelets/fourier.tex b/vorlesungen/slides/8/wavelets/fourier.tex new file mode 100644 index 0000000..4bd507b --- /dev/null +++ b/vorlesungen/slides/8/wavelets/fourier.tex @@ -0,0 +1,19 @@ +% +% fourier.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Fourier} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\end{column} +\begin{column}{0.48\textwidth} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/funktionen.tex b/vorlesungen/slides/8/wavelets/funktionen.tex new file mode 100644 index 0000000..f9667ee --- /dev/null +++ b/vorlesungen/slides/8/wavelets/funktionen.tex @@ -0,0 +1,76 @@ +% +% funktionen.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\knoten#1#2{ + \draw #1 circle[radius=0.25]; + \node at #1 {$#2$}; +} +\def\kante#1#2{ + \draw[shorten >= 0.25cm,shorten <= 0.25cm] #1 -- #2; +} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Funktionen auf einem Graphen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Ein Graph $G=(V,E)$, eine Funktion auf dem Graphen ist +\[ +f\colon V \to \mathbb{R} : v\mapsto f(v) +\] +Knoten: $V=\{1,\dots,n\}$ +\\ +Vektorschreibweise +\[ +f = \begin{pmatrix} +f(1)\\f(2)\\\vdots\\f(n) +\end{pmatrix} +\] +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Matrizen} +Adjazenz-, Grad- und Laplace-Matrix operieren auf Funktionen auf Graphen: +\[ +L += +\begin{pmatrix*}[r] + 2&-1& 0&-1& 0\\ +-1& 4&-1&-1&-1\\ + 0&-1& 2& 0&-1\\ +-1&-1& 0& 3&-1\\ + 0&-1&-1&-1& 3\\ +\end{pmatrix*} +\] +\end{block} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\def\a{2} +\coordinate (A) at (0,0); +\coordinate (B) at (\a,0); +\coordinate (C) at ({2*\a},0); +\coordinate (D) at ({0.5*\a},{-0.5*sqrt(3)*\a}); +\coordinate (E) at ({1.5*\a},{-0.5*sqrt(3)*\a}); +\knoten{(A)}{1} +\knoten{(B)}{2} +\knoten{(C)}{3} +\knoten{(D)}{4} +\knoten{(E)}{5} +\kante{(A)}{(B)} +\kante{(B)}{(C)} +\kante{(A)}{(D)} +\kante{(B)}{(D)} +\kante{(B)}{(E)} +\kante{(C)}{(E)} +\kante{(D)}{(E)} +\end{tikzpicture} +\end{center} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/laplacebasis.tex b/vorlesungen/slides/8/wavelets/laplacebasis.tex new file mode 100644 index 0000000..a59fbaa --- /dev/null +++ b/vorlesungen/slides/8/wavelets/laplacebasis.tex @@ -0,0 +1,62 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\a{2} +\def\b{0.8} +\def\c{1} +\def\d{0.6} +\input{../slides/8/wavelets/vektoren.tex} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Laplace-Basis} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\begin{scope}[yshift=-0.4cm,xshift=-5.5cm]] +\fnull +\end{scope} + +\begin{scope}[yshift=-1.8cm,xshift=-5.5cm]] +\fone +\end{scope} + +\begin{scope}[yshift=-3.2cm,xshift=-5.5cm]] +\ftwo +\end{scope} + +\begin{scope}[yshift=-4.6cm,xshift=-5.5cm]] +\fthree +\end{scope} + +\begin{scope}[yshift=-6.0cm,xshift=-5.5cm]] +\ffour +\end{scope} + +\begin{scope}[yshift=0cm] +\vnull +\end{scope} + +\begin{scope}[yshift=-1.4cm] +\vone +\end{scope} + +\begin{scope}[yshift=-2.8cm] +\vtwo +\end{scope} + +\begin{scope}[yshift=-4.2cm] +\vthree +\end{scope} + +\begin{scope}[yshift=-5.6cm] +\vfour +\end{scope} + +\end{tikzpicture} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/vektoren.tex b/vorlesungen/slides/8/wavelets/vektoren.tex new file mode 100644 index 0000000..2315d53 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/vektoren.tex @@ -0,0 +1,200 @@ +\def\vnull{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.0000$}; + \fill[color=red!100] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=red!100] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!100] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=red!100] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!100] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\fnull{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.4472*\d}) -- + ({-1.0000*\c},{0.4472*\d}) -- + ({0.0000*\c},{0.4472*\d}) -- + ({1.0000*\c},{0.4472*\d}) -- + ({2.0000*\c},{0.4472*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vone{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.1586$}; + \fill[color=blue!100] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=blue!00] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!100] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=blue!41] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!41] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\fone{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{-0.6533*\d}) -- + ({-1.0000*\c},{-0.2706*\d}) -- + ({0.0000*\c},{-0.0000*\d}) -- + ({1.0000*\c},{0.2706*\d}) -- + ({2.0000*\c},{0.6533*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vtwo{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.3000$}; + \fill[color=red!100] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=blue!00] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!100] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=blue!100] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=blue!100] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\ftwo{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.5000*\d}) -- + ({-1.0000*\c},{-0.5000*\d}) -- + ({0.0000*\c},{-0.0000*\d}) -- + ({1.0000*\c},{-0.5000*\d}) -- + ({2.0000*\c},{0.5000*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vthree{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.4414$}; + \fill[color=red!41] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=red!00] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=blue!41] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=blue!100] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!100] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\fthree{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.2706*\d}) -- + ({-1.0000*\c},{-0.6533*\d}) -- + ({0.0000*\c},{0.0000*\d}) -- + ({1.0000*\c},{0.6533*\d}) -- + ({2.0000*\c},{-0.2706*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vfour{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.5000$}; + \fill[color=red!25] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=blue!100] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!25] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=red!25] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!25] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\ffour{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.2236*\d}) -- + ({-1.0000*\c},{0.2236*\d}) -- + ({0.0000*\c},{-0.8944*\d}) -- + ({1.0000*\c},{0.2236*\d}) -- + ({2.0000*\c},{0.2236*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} |