von esdd » Mi 20. Nov 2013, 15:54
Hier ist mal ein Vorschlag mit tikz:
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix,fit,calc}
\tikzset{
klammern/.style={left delimiter=[,right delimiter={]}},
mymathmatrix/.style={matrix of math nodes,ampersand replacement=\&,
nodes={text width=#1,align=center},nodes in empty cells,klammern,font=\strut},
mysubmatrix/.style={font=\strut,anchor=north},
klammerneinfuegen/.style={fit=#1,klammern,align=none,inner sep=0pt}
}
\begin{document}
\begin{equation}
\begin{tikzpicture}[baseline=(m1.base),font=\strut]
% obere Matrix mit Klammern
\matrix(m1)[mymathmatrix=1.3em]{
a \& b\&\hdots \&[2*\tabcolsep]-1\&0\&\hdots
\&[2*\tabcolsep]\&0 \&\hdots \&[2*\tabcolsep] 1 \& 0 \\
0 \&0\&\hdots \& \smash{\ddots} \& \& \& \& \&\hdots \& 1 \& 0 \\
0\&0\&\hdots \& a_1 \& b_i\& -1 \& \&0 \&\hdots \& 1 \& 0\\
};
% untere Matrix ohne Klammern
\foreach \l/\r/\inhalt in
{1/3/\mathbf{0}, % 0 mittig unter 1. bis 3. Spalte der oberen Matrix
4/6/\mathbf{H}_{LS}, % H_LS mittig unter 4. bis 6. Spalte der oberen Matrix
7/9/\mathbf{0},
10/11/\mathbf{H}_{t_{rv}}}{
\node(ms\l)[mysubmatrix] at
([yshift=-\baselineskip]$(m1-1-\l.west|-m1.south)!0.5!(m1-1-\r.east|-m1.south)$)
{$\inhalt$};}
% Klammern für untere Matirx
\node(m2)[klammerneinfuegen=(m1.west|-ms1.north) (m1.east|-ms1.south)]{};
% senkrechte Striche in beiden Matrizen
\foreach \i in
{3,6,9}{
\draw([xshift=\tabcolsep]m1-1-\i.north east|-m1.north)
--([xshift=\tabcolsep]m1-1-\i.north east|-m1.south)coordinate(r\i);
\draw(r\i|-m2.north)--(r\i|-m2.south);}
% linke Seiten der Gleichungen
\foreach \i in {1,2}{\node[anchor=east]at(m\i.west){$\mathbf{H}=~$};}
\end{tikzpicture}
\label{eq:ekf_H0_tx_loc}
\end{equation}
\end{document}
Vielleicht geht das aber doch noch irgendwie einfacher.
Gruß
Elke
Hier ist mal ein Vorschlag mit tikz:
[code]\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix,fit,calc}
\tikzset{
klammern/.style={left delimiter=[,right delimiter={]}},
mymathmatrix/.style={matrix of math nodes,ampersand replacement=\&,
nodes={text width=#1,align=center},nodes in empty cells,klammern,font=\strut},
mysubmatrix/.style={font=\strut,anchor=north},
klammerneinfuegen/.style={fit=#1,klammern,align=none,inner sep=0pt}
}
\begin{document}
\begin{equation}
\begin{tikzpicture}[baseline=(m1.base),font=\strut]
% obere Matrix mit Klammern
\matrix(m1)[mymathmatrix=1.3em]{
a \& b\&\hdots \&[2*\tabcolsep]-1\&0\&\hdots
\&[2*\tabcolsep]\&0 \&\hdots \&[2*\tabcolsep] 1 \& 0 \\
0 \&0\&\hdots \& \smash{\ddots} \& \& \& \& \&\hdots \& 1 \& 0 \\
0\&0\&\hdots \& a_1 \& b_i\& -1 \& \&0 \&\hdots \& 1 \& 0\\
};
% untere Matrix ohne Klammern
\foreach \l/\r/\inhalt in
{1/3/\mathbf{0}, % 0 mittig unter 1. bis 3. Spalte der oberen Matrix
4/6/\mathbf{H}_{LS}, % H_LS mittig unter 4. bis 6. Spalte der oberen Matrix
7/9/\mathbf{0},
10/11/\mathbf{H}_{t_{rv}}}{
\node(ms\l)[mysubmatrix] at
([yshift=-\baselineskip]$(m1-1-\l.west|-m1.south)!0.5!(m1-1-\r.east|-m1.south)$)
{$\inhalt$};}
% Klammern für untere Matirx
\node(m2)[klammerneinfuegen=(m1.west|-ms1.north) (m1.east|-ms1.south)]{};
% senkrechte Striche in beiden Matrizen
\foreach \i in
{3,6,9}{
\draw([xshift=\tabcolsep]m1-1-\i.north east|-m1.north)
--([xshift=\tabcolsep]m1-1-\i.north east|-m1.south)coordinate(r\i);
\draw(r\i|-m2.north)--(r\i|-m2.south);}
% linke Seiten der Gleichungen
\foreach \i in {1,2}{\node[anchor=east]at(m\i.west){$\mathbf{H}=~$};}
\end{tikzpicture}
\label{eq:ekf_H0_tx_loc}
\end{equation}
\end{document} [/code]
Vielleicht geht das aber doch noch irgendwie einfacher.
Gruß
Elke