Warum ruiniert es mir den Graph, sobald ich an die Funktion +1 dazuschreibe?

Öffne in Overleaf
\newcommand*\funktion[1]{(#1)^2 +1}

So geht es:

Öffne in Overleaf
\newcommand*\funktion[1]{(#1)^2}
Öffne in Overleaf
\documentclass[margin=5mm]{standalone} 
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\begin{document} 
\begin{tikzpicture}[font=\footnotesize] 
% Dargestellte Funktion
\newcommand*\funktion[1]{(#1)^2 +1} %* sin(deg(#1))^3
% Näherungsweise Ableitung / Tangentensteigung der Funktion
\newcommand*\ableitung[1]{(\funktion{#1+0.01}-\funktion{#1})/0.01}
% Tangente an die Funktion
\newcommand*\tangente[2]{\ableitung{#2}*(#1-#2)+\funktion{#2}}

\begin{axis}[axis lines=middle, enlargelimits,
xlabel=$x$,xlabel style={anchor=north},xtick=\empty,
ylabel=$y$,ylabel style={anchor=east},%ytick=\empty,
x axis line style = {-latex}, y axis line style = {-latex},
]
\addplot[domain=-3:3,samples=200]{\funktion{\x}};
% Tangente zeichnen in T(u, f(u))
\pgfmathsetmacro{\u}{1} % Berührstelle u eingeben
\pgfmathsetmacro{\Laenge}{1.25} % Länge der Tangente eingeben
% Tangente
\addplot[domain=\u-\Laenge:\u+\Laenge, red]{\tangente{\x}{\u}};
% Koordinaten des Berührpunktes und seiner Fusspunkte
\coordinate (P) at (axis cs: \u,{\funktion{\u}}) ;
\coordinate (Q) at (axis cs:0,{\funktion{\u}}) ;
\coordinate (R) at (axis cs:\u,0) ;
\draw[red,dotted] (P) -- (Q) node[left] {$f(u)$} ;
\draw[red,dotted] (P) -- (R) node[below] {$u$} ;
% Berührpunkt T(u, f(u))
\draw[red, fill=white] (axis cs: \u, {\funktion{\u}}) circle[radius=1.5pt] node[above, red] {$T$};
\end{axis}
\end{tikzpicture}

\end{document}

gefragt 02 Apr '17, 16:43

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 03 Apr '17, 12:13

cgnieder's gravatar image

cgnieder
22.1k253463


Der Befehl \funktion berechnet nichts. Damit macht

Öffne in Overleaf
\newcommand*\ableitung[1]{(\funktion{#1+0.01}-\funktion{#1})/0.01}

bei Verwendung des von Dir definierten \funktion das gleiche wie

Öffne in Overleaf
\newcommand*\ableitung[1]{((#1+0.01)^2 +1-(#1)^2 +1)/0.01}

Beachte das + vor der zweiten 1 im Dividenden. Die Ableitung wird dadurch sehr viel größer und die Tangente entsprechend steiler.

Du müsstest also die Summe in Deiner Definition von \funktion noch in runde Klammern setzen, um das gewünschte Ergebnis zu erhalten:

Öffne in Overleaf
\newcommand*\funktion[1]{((#1)^2 +1)}

alt text

Alternativ kannst Du auch die Bibliothek math nutzen:

Öffne in Overleaf
\documentclass[margin=5mm]{standalone} 
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usetikzlibrary{math}

\begin{document} 
\begin{tikzpicture}[font=\footnotesize]

  \tikzmath{
    function funktion(\x)
      {return \x^2+1;};
    function ableitung(\x)
      {return (funktion(\x+0.01)-funktion(\x))/0.01;};
    function tangente(\x, \u)
      {return ableitung(\u)*(\x-\u)+funktion(\u);};
  }

  \begin{axis}[
    axis lines=middle, enlargelimits,
      xlabel=$x$,xlabel style={anchor=north},xtick=\empty,
      ylabel=$y$,ylabel style={anchor=east},%ytick=\empty,
      x axis line style = {-latex}, y axis line style = {-latex},
    ]
    \addplot[domain=-3:3,samples=200]{funktion(x)};
    % Tangente zeichnen in T(u, f(u))
    \pgfmathsetmacro{\u}{1} % Berührstelle u eingeben
    \pgfmathsetmacro{\Laenge}{1.25} % Länge der Tangente eingeben
    % Tangente
    \addplot[domain=\u-\Laenge:\u+\Laenge, red]{tangente(x,\u)};
    % Koordinaten des Berührpunktes und seiner Fusspunkte
    \coordinate (P) at (axis cs: \u,{funktion(\u)}) ;
    \coordinate (Q) at (axis cs:0,{funktion(\u)}) ;
    \coordinate (R) at (axis cs:\u,0) ;
    \draw[red,dotted] (P) -- (Q) node[left] {$f(u)$} ;
    \draw[red,dotted] (P) -- (R) node[below] {$u$} ;
    % Berührpunkt T(u, f(u))
    \draw[red, fill=white] (axis cs: \u, {funktion(\u)}) circle[radius=1.5pt] node[above, red] {$T$};
  \end{axis}
\end{tikzpicture}

\end{document}

Wenn Du compat auf eine aktuellere Version einstellen würdest, könntest Du Dir übrigens die ganzen axis cs sparen.

Permanenter link

beantwortet 02 Apr '17, 21:07

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 02 Apr '17, 21:10

Ah sehr gut. Ich schreibe axis cs: lieber dazu, zur eigenen Übersicht.

(02 Apr '17, 23:32) cis
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×298

gestellte Frage: 02 Apr '17, 16:43

Frage wurde gesehen: 4,344 Mal

zuletzt geändert: 03 Apr '17, 12:13