\documentclass[]{article} \usepackage{amsmath} \usepackage{tikz} \usetikzlibrary{matrix} \begin{document} Bordermatrix: $ \bordermatrix{ & \cr & u_1 \cr & \vdots \cr & u_k \cr 1 & u_{k+1} \cr & u_{k+2} \cr 3 & u_{k+3} \cr } $ Matrix with tikz: \begin{tikzpicture} \matrix [ matrix of math nodes, left delimiter={(}, right delimiter={)}, ] (m) { u_1 \\ \vdots \\ u_k \\ u_{k+1}\\ \vdots \\ u_n \\ }; \node[left=2.5em] at (m-4-1) {$1$}; \node[left=2.5em] at (m-6-1) {$3$}; \draw [thin] (m-4-1.north west) -- (m-4-1.north east); \end{tikzpicture} BMatrix: $ \begin{pmatrix} u_1 \\ \vdots \\ u_k \\ \hline u_{k+1} \\ \vdots \\ u_n \end{pmatrix} = \begin{pmatrix} v_1 \\ \vdots \\ v_k \\ \hline v_{k+1} \end{pmatrix} $ \end{document}
Formel mit kbordermatrix ähnlichem Gebilde
Achso, entschuldigung:)
[/code]
Mit der Option yshift des Befehls \node. Du darfst die pmatrix-Umgebung im mathematischen Modus innerhalb der geschweiften Klammern des genannten TikZ-Befehls einsetzen. Der Knoten kann dann am Gleichheitszeichen ausgerichtet werden, welches an der mittleren Matrix ausgerichtet werden kann.BennyS hat geschrieben:-Wie kann ich den rechten Vektor/Matrix "nach oben verschieben" wie in der Zielform? Dies wird wahrscheinlich nur mit TikZ möglich sein oder?
Mein Vorschlag:BennyS hat geschrieben:-Wie könnte ich am Ende dann alle 3 Matrizen zu einer Gleichung verbinden?
\documentclass[tikz, border=5pt]{standalone} \usepackage{upgreek} \usetikzlibrary{matrix,positioning} \tikzset{nodes={font=\sffamily}} \begin{document} \begin{tikzpicture}[ mybordermatrix/.style = { matrix of math nodes, left delimiter={(}, right delimiter={)}, inner xsep=0pt } ] \node (assignment1) {=}; % Linke Matrix \matrix [ mybordermatrix, left = of assignment1, xshift=5mm ] (left_matrix) { \widetilde u_2 \\ \widetilde u_3 \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \cdot \\ \widetilde u_1 \\ \widetilde u_9 \\ \widetilde u_{19} \\ }; % Waagerechter Strich über u_1 %\draw [very thick] (left_matrix-15-1.north west) -- (left_matrix-15-1.north east); \draw [very thick] (-1.5,-2.1) -- (-.55,-2.1); \foreach \i/\j in {15/1, 17/3} { \node[left=1.2em] at (left_matrix-\i-1) {\j}; } % Mittlere Matrix \matrix[ matrix of nodes, draw, % nodes=draw, row 1/.style={minimum height = 6cm}, column 1/.style={minimum width = 3cm}, rowheight/.style={minimum height = .5cm}, columnwidth/.style={minimum width = .5cm}, row 2/.style={rowheight}, row 3/.style={rowheight}, row 4/.style={rowheight}, column 2/.style={columnwidth}, column 3/.style={columnwidth}, column 4/.style={columnwidth}, right = of assignment1, xshift=-8mm, very thick,% Linienbreite inner sep=0pt, ] (middle_matrix) { $\upphi$ & \phantom{?} & ? & \phantom{?}\\ \phantom{O} & 1 & \phantom{1} & \phantom{1}\\ O & \phantom{1} & 1 & \phantom{1}\\ \phantom{O} & \phantom{1} & \phantom{1} & 1 \\ }; % Waagerechte Trennlinie \draw [very thick] (middle_matrix-2-1.north west) -- (middle_matrix-2-4.north east); % Senkrechte Trennlinie \draw [very thick] (middle_matrix-1-1.north east) -- (middle_matrix-4-1.south east); % Außenbeschriftung an der rechten unteren Ecke \node [right=3.7em] at (middle_matrix-2-2) {1}; \node [right=.8em] at (middle_matrix-4-4) {3}; \node [below=.8em] at (middle_matrix-4-4) {3}; \node [below=3.7em] at (middle_matrix-2-2) {1}; % Rechte Matrix \matrix [ mybordermatrix, right = of middle_matrix, yshift=2.4cm ] (right_matrix) { \cdot \\ \widetilde q \\ \cdot \\ \cdot \\ ~\\ \widetilde u_H \\ }; % Waagerechter Strich über u_H %\draw [very thick] (right_matrix-5-1.north west) -- (right_matrix-5-1.north east); \draw [very thick] (5.85,2) -- (6.6,2); % Zeichen unter den Matrizen \node [below = of assignment1, yshift=-3.2cm] (assignment2) {=}; \node [left = of assignment2, xshift=5mm, yshift=.7mm] {$\widetilde u$}; \node [right = of assignment2, xshift=5mm, yshift=.7mm] {$T$}; \node [right = of assignment2, xshift=47mm, yshift=.7mm] {$\widetilde v$}; \end{tikzpicture} \end{document}
- Dateianhänge
-
- 3_Matrizen.png (21.67 KiB) 1726 mal betrachtet
Die Klammern lassen sich verschieben, Stichwort `every ... delimiter' (hier zwar ausgehend vom Beispiel des OP, aber das tut dieser Problematik ja keinen Abbruch):Bartman hat geschrieben:Die waagerechten Striche in der linken und rechten Matrix habe ich mit festen Koordinaten angegeben, weil das Setzen der Striche im Verhältnis zum jeweiligen Knoten immer Lücken ergibt. Bislang konnte ich nicht ergründen, wie diese Leerräumen geschlossen werden können.
\documentclass[]{article} \usepackage{amsmath} \usepackage{tikz} \usetikzlibrary{matrix} \begin{document} \begin{tikzpicture}[>=latex, every left delimiter/.style={xshift=1em},% linke Klammern weiter rechts every right delimiter/.style={xshift=-1em},% rechte Klammern weiter links node distance=2em,% etwas einfacher, als jeden Node einzeln zu verschieben every node/.style={draw=red}% nur zur Demo: Node-Grenzen visualisiert ] \matrix[ matrix of math nodes, left delimiter={(}, right delimiter={)}, ] (m) { u_1 \\ \vdots\\% zum Vergleich so stehen gelassen, s.u. u_k \\ u_{k+1}\\% \raisebox{1ex}{% damit die vertikalen Auslassungspunkte etwas zentrierer erscheinen... \ensuremath{% der Inhalt einer \raisebox wird (sonst) als Text angesehen \vdots}}\\ u_n \\ }; % \node[left=1.5em] at (m-4-1) {$1$};% entsprechend dem xshift (vgl. `every left delimiter' weiter oben) verkürzte Verschiebung nach links; alternativ: \node[left of=m-4-1] {$1$};% s.o. `node distance' \node[left of=m-6-1] {$3$}; \draw[blue, <->] (m-6-1.south) -- +(-2em,0);% nur zur Demo: `node distance' \draw [thin] (m-4-1.north west) -- (m-4-1.north east); \end{tikzpicture} \end{document}
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)