我需要一些绘图方面的帮助。我想y^2=x^2(x+1)
在pgfplots
-10 到 10 的范围内打印它。我试了一段时间,但没有成功。而且它应该是一条平滑的曲线,而不是虚线。
答案1
另一种方法:你可以参数化。我记得我曾经对这条曲线进行过参数化TeXwelt网站。
y=(xt)^(3/2)
为了简化取平方,我设置了。因此,我得到
xt^3 = x+1(或 x=0)
因此
x = 1 / (t^3-1) 且 y = (t/(t^3-1))^(3/2)
现在我可以绘制它,让 t 运行(这里我将 t 命名为 x):
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis x line=middle,
axis y line=middle,
axis equal,
xlabel = {$x$},
ylabel = {$y$},
restrict y to domain = -4:4,
restrict x to domain = -1:1.6,
]
\addplot [domain = -4:4, samples = 300]
({1/(x^3 - 1)}, { (x/(x^3 - 1))^1.5});
\addplot [domain = -4:4, samples = 300]
({1/(x^3 - 1)}, {-(x/(x^3 - 1))^1.5});
\end{axis}
\end{tikzpicture}
\end{document}
我的原文是德文:为什么不能有一个不明确的函数图。
答案2
您可以绘制两个图,一个表示 y 的正值部分,另一个表示负值部分。这是一个可编译的示例。我选择了 -1.5 到 1.5 的范围以获得更好的视图,当然您可以更改它。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis equal,
axis x line = middle,
axis y line = middle,
xlabel = {$x$},
ylabel = {$y$},
]
\addplot [domain = -1.5:1.5,samples=300, unbounded coords=jump]
{sqrt(x^2*(x+1))};
\addplot [domain = -1.5:1.5,samples=300, unbounded coords=jump]
{-sqrt(x^2*(x+1))};
\end{axis}
\end{tikzpicture}
\end{document}
答案3
与渐近线进行比较
// Run on http://asymptote.ualberta.ca/
unitsize(1cm);
import contour;
import graph;
real f(real x, real y) { return y^2-x^3-x^2; }
pair A=(-2.5,-2.5), B=(2.5,2.5);
limits(A,B);
guide[][] g = contour(f,A,B, new real[] {0});
draw(g[0],blue+1pt);
real[] x={-2,-1,1,2};
real[] y={-2,-1,1,2};
xaxis(Label("$x$",EndPoint,align=.5N),Ticks(x,1mm,red));
yaxis(Label("$y$",EndPoint,align=.5E),Ticks(y,1mm,red));
shipout(bbox(5mm,invisible));