Seite 1 von 1

Matrix Multiplikation Visualisieren

Verfasst: Fr 9. Apr 2010, 21:01
von roland123
Hi Folks,

Ich bin gerade dabei eine Matrix Multiplikation zu visualisieren.
Dazu habe ich eine Tabelle (2 Zeilen, 2 Spalten) gemacht. In der linken unteren Zelle steht eine Matrix, in der rechten oberen Zelle die 2te und das Ergebnis soll in der rechten unteren Zelle sein.
Soweit so gut. Das kriege ich alles hin.
Sieht so aus:
\begin{table}[h!]
  \centering
  \begin{tabular}{c|l}
       & $ \begin{pmatrix} i \\ j \\ 1 \end{pmatrix} $ \\[7mm]
      \hline \\ [-3mm]
    $ \begin{pmatrix} A_{11} & A_{12} & t_1 \\ A_{21} & A_{22} & t_2 \\ 0 & 0 & 1 \end{pmatrix} $ &
    $ \begin{pmatrix} A_{11} \cdot i + A_{12} \cdot j + t_1 \cdot 1 \\ 
                    A_{21} \cdot i + A_{22} \cdot j + t_2 \cdot 1 \\ 
                    0 \cdot i + 0 \cdot j + 1 \cdot 1 \end{pmatrix} $
  \end{tabular}
\end{table}


Nun versuche ich die beiden Matrizen mit einer Linie zu verbinden. Doch da hören meine Latex-Künste schon auf.
Ich würde gerne eine gestrichelte Linie von A11 zu i, eine von A12 zu j und eine von t1 zu 1 haben.
Ist sowas möglich?
Leider habe ich überhaupt keine Ahnung vom xy-Package oder sonsteinem Zeichenpackage.

Hoffe man versteht, was ich in etwa möchte und es gibt da eine einfache Lösung.

Viele Grüße,
Roland

tikz?

Verfasst: Sa 10. Apr 2010, 01:16
von skater
Für PGF gibt es ein Beispiel einer Matrix-Multiplikation. Vielleicht hilft dir das ja weiter.

Verfasst: Sa 10. Apr 2010, 16:04
von roland123
Das habe ich auch schon gefunden. Erscheint mir aber viel zu kompliziert für meine Belange.
Gibts da nicht was einfacheres?

Verfasst: So 11. Apr 2010, 10:01
von CrazyHorse
roland123 hat geschrieben:Das habe ich auch schon gefunden. Erscheint mir aber viel zu kompliziert für meine Belange.
Gibts da nicht was einfacheres?
\documentclass{article}
\usepackage{amsmath,pst-node}

\begin{document}

\begin{tabular}{c|l}
       & $ \begin{pmatrix} \rnode{i}{i} \\ \rnode{j}{j} \\ 1 \end{pmatrix} $ \\[7mm]
      \hline \\ [-3mm]
    $ \begin{pmatrix} \rnode{A11}{A_{11}} & \rnode{A12}{A_{12}} & t_1 \\ 
            A_{21} & A_{22} & t_2 \\ 0 & 0 & 1 \end{pmatrix} $ &
    $ \begin{pmatrix} A_{11} \cdot i + A_{12} \cdot j + t_1 \cdot 1 \\
                    A_{21} \cdot i + A_{22} \cdot j + t_2 \cdot 1 \\
                    0 \cdot i + 0 \cdot j + 1 \cdot 1 \end{pmatrix} $
\end{tabular} 
\nccurve[angleA=60,angleB=180,linestyle=dashed,
  nodesep=3pt]{->}{A11}{i}
\nccurve[angleA=60,angleB=180,linestyle=dashed,
  nodesep=3pt]{->}{A12}{j}
%\ncline[linestyle=dashed]{A12}{j}

\end{document}
latex->dvips->ps2pdf

Herbert

Verfasst: So 11. Apr 2010, 12:48
von esdd
Hallo,
hier noch ein Vorschlag mit tikz, der allerdings zwei Durchläufe braucht, damit die Pfeile an der richtigen Stelle sind. Dafür funktioniert er auch mit pdflatex.
\documentclass{scrartcl}

\usepackage{amsmath,tikz}

\tikzset{%
	every picture/.append style={remember picture},
	every node/.append style={inner sep=0pt},
	pfeil/.style={dashed,->,>=latex,shorten <=1mm,shorten >=2.5mm}}
\newcommand\mynode[2]{\tikz\node(#1){$#2$};}%#1 ist der Name und #2 der Inhalt der Node	

\begin{document}

\begin{tabular}{c|l} 
  & $\begin{pmatrix} \mynode{i}{i}\\ \mynode{j}{j}\\ \mynode{1}{1}\end{pmatrix}$\\[7mm] 
  \hline \\ [-3mm] 
  $\begin{pmatrix}\mynode{a11}{A_{11}}&\mynode{a12}{A_{12}}&\mynode{t1}{t_1}\\%
  	A_{21}&A_{22}& t_2\\0&0&1\end{pmatrix}$& 
  $ \begin{pmatrix} A_{11}\cdot i+A_{12}\cdot j+t_1\cdot 1\\% 
  	A_{21}\cdot i+A_{22}\cdot j+t_2\cdot 1\\0\cdot i+0\cdot j+1\cdot1\end{pmatrix}$ 
\end{tabular}

\begin{tikzpicture}[overlay,pfeil]
	\draw(a11)to[out=60,in=180](i);
	\draw(a12)to[out=60,in=180](j);
	\draw(t1)|-(1);
\end{tikzpicture}

\end{document}
Gruß
Elke

Verfasst: So 11. Apr 2010, 13:32
von CrazyHorse
esdd hat geschrieben: hier noch ein Vorschlag mit tikz, der allerdings zwei Durchläufe braucht, damit die Pfeile an der richtigen Stelle sind. Dafür funktioniert er auch mit pdflatex.
Auch PSTricks geht mit pdflatex ...

Herbert

Verfasst: Mo 12. Apr 2010, 17:03
von roland123
oh.

vielen vielen Dank.
Das hat mir sehr weitergeholfen und mich auch ein bisschen vertrauter mit dem ganzen drawing zeug gemacht.

Also danke nochmals.