我不知道这个网站是如何运作的,所以我会尽力而为。
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis x line=center,
axis y line=center,
minor tick num=1,
xlabel={$x$},
xmin=-5, xmax=5,
ylabel={$y$},
ymin=-5, ymax=5,
]
\addplot[blue, samples=200, domain=-1:5]{-sqrt(x^3+x^2)}
node[pos=0.3, pin=135:{\color{blue}$-\sqrt{x^3+x^2}$}]{};
\addplot[red, samples=500, domain=-1:5]{sqrt(x^3+x^2)*sin(pi/deg(x))};
\end{axis}
\end{tikzpicture}
\end{document}
当我运行代码时(我没有包含其他 200 行代码)我得到一条水平线...只是想知道是否有人知道这个问题的解决方案。
谢谢
答案1
经过一番思考:sin
以度为输入,这就是您使用的原因deg(x)
。但是,您正在将其与pi
用于弧度的进行比较。这就是您得到错误图表的原因。下面我展示了三种正确的方法。
\documentclass[12pt]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis x line=center,
axis y line=center,
minor tick num=1,
xlabel={$x$},
xmin=-1, xmax=1,
ylabel={$y$},
ymin=-1, ymax=1,
]
\addplot[red, samples=1000, domain=-5:5]{sqrt(x^3+x^2)*sin(deg(pi/x))};
\addplot[cyan,dashed, samples=1000, domain=-5:5]{sqrt(x^3+x^2)*sin(180/x)};
\addplot[blue,densely dotted, samples=1000, domain=-5:5, trig format=rad]{sqrt(x^3+x^2)*sin(pi/x)};
\addplot[blue, samples=200, domain=-5:5]{-sqrt(x^3+x^2)} node[pos=0.3, pin=135:{\color{blue}$-\sqrt{x^3+x^2}$}]{};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
它看起来像一条线,因为在我看来你不应该使用“deg(x)”。尝试只使用“sin(deg(pi/x))”,看看它是否更符合你的需要。