erweiterte Koeffizientenmatrix mit gauss?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: erweiterte Koeffizientenmatrix mit gauss?

Zusatzspalte

von orak » Sa 1. Dez 2012, 22:49

Hallo,
mir schien die Zusatzspalte ebenfalls die einfachste Lösung zu sein,
allerdings hatte ich bei dem Beispiel noch einen Abstand zwischen den
senkrechten Linien.
arraystretch scheint mir für gauss auch keine Rolle zu spielen.
Daher der folgende Vorschlag:
%\renewcommand{\arraystretch}{4} %test arraystretch ohne Wirkung
%arraystretch wird nicht verwendet
 \newdimen\asep 
 \asep=0.25\baselineskip
% \the\baselineskip \the\asep 
% \multiply \asep by 4
% \the\asep
\providecommand{\vo}{
 \text{\raisebox{-\asep}[0pt][0pt]{\rule[0pt]{0.8pt}{3.5\asep}}}}
\providecommand{\vu}{
 \text{\raisebox{-0.5\asep}[0pt][0pt]{\rule[0pt]{0.8pt}{\baselineskip}}}}
\providecommand{\vm}{
 \text{\raisebox{-\asep}[0pt][0pt]{\rule[0pt]{0.8pt}{\baselineskip}}}}
\begin{flalign*}
  &      
   \begin{gmatrix}[p]
    1   &  1  &  1  &   1 &\vo& 38\\
    27  &  9  &  3  &   1 &\vm& 52\\
    3   &  2  &  1  &     &\vm& 15 \\
    18  &  2  &     &     &\vu& 0
   \rowops     
     \add[\cdot (-1)]{0}{1}
  \end{gmatrix}  
%hier kommt mehr
\end{flalign*}
Grüße

Trick

von localghost » Sa 19. Nov 2011, 19:20

Es gäbe noch die Möglichkeit, mit einer zusätzlichen Spalte in der Gauss-Matrix einen Trennstrich einzufügen.
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{%
  adieresis={ä},
  germandbls={ß},
  Euro={€}
}
\usepackage{babel}
\usepackage{lmodern}
\usepackage{gauss}

\newcommand*{\vsep}{\kern-\tabcolsep\vrule height\arraystretch\ht\strutbox depth\arraystretch\dp\strutbox\kern-\tabcolsep}


\begin{document}
  \begin{equation*}
    (A|b)=
    \begin{gmatrix}[p]
      1 & 0      & -3       & \vsep & -3\\
      0 & \alpha & 7        & \vsep &  4\\
      0 & 2      & \alpha+3 & \vsep &  4
      \rowops
        \mult{1}{\cdot \frac{1}{\alpha}}
        \swap{0}{2}
    \end{gmatrix}
  \end{equation*}
\end{document}

Thorsten

von guy.brush™ » Sa 19. Nov 2011, 18:28

Ohje, welch Kindergarten :(. Ich verstehe nicht, wieso man so engstirnig an der Uni oder FH noch sein muss.

Ich habe mir bloodworks Lösung nicht genau angeschaut, aber mir wäre das wohl zu viel Aufwand. Sofern du es nicht sonderlich häufig (also jetzt nur für 1-3 Übungsblätter) brauchst, würde ich dann auf die \vert-Variante zurückgreifen.

Falls du allerdings lediglich den Ergebnisvektor, bei uns oft $b$ genannt, nur extra kennzeichnen musst und eine vertikale Linie nur eine Möglichkeit ist, so fiel mir gerade noch farbliche Trennung ein, dass du die eine Spalte z.B. blau machst. Aber auch keine mega schöne Lösung.

Oder du spielst ein bisschen Revoluzer, nimmst nur die gauss-Variante und wackelst nachher ohne Lineal eine Linie hinein ;).


Edit: Mir ist noch etwas eingefallen und dann habe ich keine Ruhe gefunden. Ich finde, dass das die beste Lösung ist, wenn auch bisschen geschummelt :).
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}

\usepackage{amsmath}	% muss man wohl vor gauss laden
\usepackage{gauss}

\newmatrix{.}{)}{knuffig}	% ich glaube, das package "mathtools" implementiert \lparen und \rparen (oder so), die würde ich bevorzugen zu ")"

\begin{document}

\[
  \left(\begin{matrix}
    a_{11}	&	a_{12}	&	a_{13}\\
    a_{21}	&	a_{22}	&	a_{23}\\
    a_{31}	&	a_{32}	&	a_{33}
  \end{matrix}\,\right\vert	% ein \, sollte reichen, vielleicht gefällt dir aber auch \: oder \; besser
  \begin{gmatrix}[knuffig]
    b_1\\
    b_2\\
    b_3
    \rowops
      \mult{2}{\cdot \frac{1}{13} e^{\frac{2 \pi i 3}{11}} (e^{i \pi} + 1)}
      \add[\cdot 42]{2}{0}
      \add[\cdot \sin(2 \pi)]{2}{1}
  \end{gmatrix}
\]

\end{document}
Ich würde aber wohl stets bei \add immer den \cdot im optionalen Argument setzen, damit klar ist, dass man erst die Zeile multipliziert und dann addiert. Alternativ machst erst ein \mult und dann ein \add ohne optionales Argument.

Es befindet sich ein kleiner Witz in meinem Beispiel ;). Aber Achtung, man findet ihn vermutlich nur lustig, wenn man Mathematik mag und etwas nerdig und freakig drauf ist ;).

von Keba » Sa 19. Nov 2011, 17:06

guy.brush™ hat geschrieben:Ich persönlich würde das gauss-Paket nutzen und auf den vertikalen Strich verzichten, weil es eigentilch auch ohne Strich einfach genug ist :).
Find ich auch, meine Dozentin sieht das allerdings anders. Auf den Strich darf ich also nicht verzichten.
guy.brush™ hat geschrieben:Ansonsten wäre eine weitere, aber nicht so schöne, Lösung, eine weitere Spalte mit jeweils \vert einzufügen, der Strich wäre dann aber nicht durchgehend :).
Darauf bin ich sogar selber gekommen, allerdings habe ich einfach "|" verwendet, funktioniert -- wirklich schön ist es allerdings nicht.

Grüße, Keba.

von guy.brush™ » Fr 18. Nov 2011, 23:05

Ich persönlich würde das gauss-Paket nutzen und auf den vertikalen Strich verzichten, weil es eigentilch auch ohne Strich einfach genug ist :).

Ansonsten wäre eine weitere, aber nicht so schöne, Lösung, eine weitere Spalte mit jeweils \vert einzufügen, der Strich wäre dann aber nicht durchgehend :).

von Keba » Fr 18. Nov 2011, 17:04

Hallo,

Das wäre ein Minimalbeispiel:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}         % Utf-8 encoding
\usepackage[T1]{fontenc}            % Makes umlauts searchable
\usepackage{lmodern}                % Nice font
\usepackage[ngerman]{babel}         % German typography
\usepackage{fancyhdr}               % Nice headers and footers
\usepackage{amsmath}                % Math: General
\usepackage{amssymb}                % Math: Symbols
\usepackage{amsthm}                 % Math: Theorems
\usepackage{amsfonts}               % Math: Fonts
\usepackage{gauss}                  % Math: Solving LES using Gauss algorithm
\usepackage{graphicx}               % Graphics support
\usepackage{tikz}                   % Create graphics
\usetikzlibrary{shapes,backgrounds} % Needed for tikz
\usepackage{pgfplots}               % Lets plot :)
% \usepackage{subfig}                 % Multiple figures
\usepackage{booktabs}               % Beautiful tables
\usepackage{marginnote}             % Margin to do commands
\usepackage{hyperref}               % Links

% Allowing matrices like {pmatrix}[cc|c]
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother

\begin{document}
\section{pmatrix mit Hack}
\begin{equation*}
  (A|b) =  \begin{pmatrix}[ccc|c]
      1 & 0      & -3       & -3\\
      0 & \alpha & 7        &  4\\
      0 & 2      & \alpha+3 &  4
           \end{pmatrix}
\end{equation*}

\section{gauss}
\begin{equation*}
  (A|b) = \begin{gmatrix}[p]
      1 & 0      & -3       & -3\\
      0 & \alpha & 7        &  4\\
      0 & 2      & \alpha+3 &  4
      \rowops
        \mult{1}{\cdot \frac{1}{\alpha}}
        \swap{0}{2}
  \end{gmatrix}
\end{equation*}

\end{document}
Ich werde dann bald (vermutlich erst Sonntag) mal mit deiner Lösung rumspielen, danke dafür :)

Grüße, Keba.

von bloodworks » Fr 18. Nov 2011, 16:41

So ich habe mir grad gauss angeschaut und bin zum Schluss gekommen, dass es nicht so einfach umzudefinieren ist. Deshalb ein Vorschlag mit tkz-linknodes. Das ist recht pfiffig (also das Paket) und geht für mich etwas schneller als jetzt durch gauss durchsteigen. Allerdings muss man ein paar Parameter anpassen:
\documentclass{scrartcl} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{tkz-linknodes}% kann sein, dass das unter Windows anders heißt. 
\makeatletter 
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{% 
\hskip -\arraycolsep 
\let\@ifnextchar\new@ifnextchar 
\array{#1}%
}
\makeatother 

\begin{document}

\tikzset{ArrowStyle/.style={>=latex,->,text=black, shorten <=2pt, shorten >=6.5pt}} 
\tikzset{NodeStyle/.style={ inner xsep =0pt}}
\begin{NodesList}
\begin{align*} 
   \begin{pmatrix}[c|c] 
      1 & 2\AddNode\\
      2 & 3\AddNode\\
      0&0\AddNode\\
   \end{pmatrix}
\end{align*} 
\LinkNodes[margin=1 cm]{Von da nach da} 
\LinkNodes[margin=4 cm]{und da nach da} 
\end{NodesList}
\end{document}

von bloodworks » Fr 18. Nov 2011, 12:20

Hallo bitte erstelle doch ein Minimalbeispiel [2] ich habe nicht wirklich Lust zu raten welche Pakete du verwendest.

erweiterte Koeffizientenmatrix mit gauss?

von Keba » Fr 18. Nov 2011, 00:10

Hallo,

Ich will LGS lösen und dafür soll ich die Koeffizientenmatrix-Schreibweise verwenden, Google hat da diese Lösung gefunden:
% preamble ...
% Allowing matrices like {pmatrix}[cc|c]
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother

\begin{document}
\begin{align*}
   \begin{pmatrix}[c|c]
      1 & 2\\
      2 & 3\\
   \end{pmatrix}
\end{align*}
\end{document}
Allerdings funktioniert dieser „Preamble-Hack“ nicht mit dem gauss-Paket. Wie bekomme ich am einfachsten eine senkrechte Linie in meine Matrix gezeichnet?

Grüße, Keba.

Nach oben