
数学関数を表すために次のコードを使用します。これが私の座標系です:
\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