関数のドメインを自動的に定義する

関数のドメインを自動的に定義する

数学関数を表すために次のコードを使用します。これが私の座標系です:

\newenvironment{graph}[2]{\begin{tikzpicture}[scale=0.6]
\draw[->] (0,0) -- (10,0) node[right] {$#1$};
\draw[->] (0,0) -- (0,10) node[above] {$#2$};
}
{
\end{tikzpicture}
}

関数を作成するには、次のコマンドを使用します。

 \newcommand{\gf}[2]{\draw plot[variable=\t,samples=1000,scale=1,domain= #1 ,smooth] ({\t},{#2});}

ドメインと関数自体を入力として受け取ります。

問題は、新しい関数を描くたびにドメインを定義しなければならないことです。私の座標系からわかるように、私は常に 10 x 10 の座標系でグラフを描いています。私が選択した関数のドメインを、それが 10 x 10 の座標系内に含まれるように決定できる新しいコマンドを作成したいと思います。これは可能ですか?

2 つの関数の例:

\begin{graph}{x}{y}
\gf{0:10}{\t^2}
\gf{0:10}{3-2\t}
\end{graph}

この例では、10 で評価された最初の関数の値は 100 で、範囲外です。関数を g(x) と呼びます。関数の値が 10 (g(x)=10) になるように、LaTeX で x の値を見つけ、この値をドメインの上限として挿入したいと思います。

2 番目の関数にも同様の問題があります。これを f(x) と呼びます。これは非常に負の値になり、座標系から下側に抜けます。この場合、LaTeX で関数の値を見つけて f(x)=0 とし、それを上限として挿入したいと思います。

答え1

さて、ここに の例を示しますpgfplots私は、pgfplots を使用するという点で Johannes_B と Benedikt Bauer に同意します。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[
          axis lines=left,
          scaled ticks=true,
          xlabel=$x$,
          ylabel=$y$,
          xmax=11,
          ymax=110,
          small,
          domain=1:10,
          samples=100
      ]
     \addplot[red,thick,-stealth] {x^2};
    \end{axis}
  \end{tikzpicture}
  \begin{tikzpicture}
    \begin{axis}[
          axis lines=left,
          scaled ticks=true,
          xlabel=$x$,
          ylabel=$y$,
          xmax=11,
          ymax=11,
          small,
          domain=1:10,
          samples=100
      ]
     \addplot[blue,thick,loosely dotted,-stealth] {-2*x+3};
     \draw[fill=red] (axis cs:6,-10) circle (3pt);
     \draw[magenta,-stealth] (axis cs:8,0) -- (axis cs:6.1,-9.6);
    \end{axis}
  \end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

結論として、非常に柔軟性が高く、グラフ内でpgfplotsのみ使用できます。tikz

関連情報