编辑

编辑

我在绘制方程式 $y^4 - y^2 = x$ 时遇到了一些麻烦。有人能帮我吗?非常感谢!

答案1

这是 PGF 解决方案。为了响应您对绘制多个形式函数的请求y^4 - y^2 = x - n,我添加了一个\foreach循环。

已更新轴标签

在此处输入图片描述

 \documentclass[border=0.5cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-5, xmax=5,
ymin=-2, ymax=2,
axis lines=center,
xlabel={$x$},
ylabel={$y$},
samples=100]
\foreach \n in {-3,...,3} 
  \addplot[red] (x^4 - x^2 +\n,x);
\end{axis}
\end{tikzpicture}
\end{document}

动画版...

在此处输入图片描述

\documentclass[tikz,border=0.5cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\foreach \n in {-3,...,3,2,1,...,-2}
{
\begin{tikzpicture}
\begin{axis}[
xmin=-5, xmax=9,
ymin=-3, ymax=3,
axis lines=center,
xlabel={$x$},
ylabel={$y$},
samples=100]
  \addplot[red] (x^4 - x^2 +\n,x);
  \node [fill=red!20!white,text width=1.2cm,anchor=base,minimum height=0.5cm,minimum width=1.5cm,align=left] at (-3,-2.5) {$n=\n$};
\end{axis}
\end{tikzpicture}
}
\end{document}

答案2

这个答案可以作为绘制的一个可能的解决方案$y^4 - y^2 = x$

在此处输入图片描述

    \documentclass[10pt]{article}
    \usepackage{pstricks-add}
    \usepackage{pst-func}
    \begin{document}
    \psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=5pt 0,linewidth=1pt,arrowsize=3pt 2,arrowinset=0.15}
    \begin{pspicture*}(-1,-2)(4,3)
    \psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1.,Dy=1.,ticksize=-2pt 0,subticks=2]{->}(0,0)(-1,-1.5)(4,2)
    \psplotImp[linecolor=red,stepFactor=0.1,algebraic](-2.0,-3.0)(4.0,3.0){-1.0*y^2+1.0*y^4-1.0*x^1}
    \rput[tl](1,2){$-x + y^{4} - y^{2} = 0$}
    \rput[tl](3.8,.4){$x$}
    \rput[tl](.2,2){$y$}
    \end{pspicture*}
    \end{document}

附录

通过插入新代码,\psplotImp[linecolor=yellow,stepFactor=0.1,algebraic](-4.0,-3.0)(4.0,2.0){-2.0-1.0*y^2+1.0*y^4-1.0*x^1}您可以绘制新的隐式函数,并且\rput[tl](1,1){\small $ -x +1+ y^{4} - y^{2} = 0$}可以使用笛卡尔坐标将标签放置在您喜欢的特定位置。

在此处输入图片描述

\documentclass[10pt]{article}
\usepackage{pstricks-add}
\usepackage{pst-func}
\begin{document}
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=5pt 0,linewidth=1pt,arrowsize=3pt 2,arrowinset=0.15}
\begin{pspicture*}(-3,-2)(4,3)
\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1.,Dy=1.,ticksize=-2pt 0,subticks=2]{->}(0,0)(-4,-1.5)(4,2)
\psplotImp[linecolor=red,stepFactor=0.1,algebraic](-4.0,-3.0)(4.0,3.0){-1.0*y^2+1.0*y^4-1.0*x^1}
\psplotImp[linecolor=green,stepFactor=0.1,algebraic](-4.0,-3.0)(4.0,2.0){1.0-1.0*y^2+1.0*y^4-1.0*x^1}
\psplotImp[linecolor=yellow,stepFactor=0.1,algebraic](-4.0,-3.0)(4.0,2.0){-2.0-1.0*y^2+1.0*y^4-1.0*x^1}
\rput[tl](1,2){\small $-x + y^{4} - y^{2} = 0$}
\rput[tl](1,1){\small $ -x +1+ y^{4} - y^{2} = 0$}
\rput[tl](3.8,.4){$x$}
\rput[tl](.2,2){$y$}
\end{pspicture*}
\end{document}

答案3

正如 @percusse 所建议的,这是 Asymptote 版本:

//
// yx.asy
//
// run 
//      asy yx.asy
//
// to get yx.pdf
//
settings.tex="pdflatex";
import graph; import math; import palette;
size(12cm);
import fontsize;defaultpen(fontsize(8pt));
real xmin=-3.6, xmax=5;
real ymax=1.6, ymin=-ymax;
real dxmin=0, dxmax=0.1;
real dymin=0.1, dymax=dymin;
xaxis("$x$",xmin-dxmin,xmax+dxmax,RightTicks(Step=1,step=0.2,OmitTick(0,2.2)),above=true);
yaxis("$y$",ymin-dymin,ymax+dymax,LeftTicks (Step=1,step=0.2,OmitTick(0,1.4)),above=true);

real[] n={-3, -2, -1, 0, 1, 2, 3};
pen[] p=Gradient(n.length, blue,red);

for(int i=0;i<n.length;++i){
  pair f(real y){return (y^4-y^2+n[i], y);}
  draw(graph(f,ymin,ymax), p[i]+0.7bp);
  label("$\scriptstyle{n="+string(n[i])+"}$",f(1.15), p[i],UnFill);
}

clip(box((xmin-dxmin,ymin-dymin),(xmax+dxmax,ymax+dymax)));
label("$y^4-y^2=x-n$",point(dir(80)),plain.N);

在此处输入图片描述

答案4

重构塞巴斯蒂亚诺的回答

\documentclass[pstricks]{standalone}
\usepackage{pst-func}
\begin{document}
\begin{pspicture}(-1.5,-2.5)(6,3)
\psaxes{->}(0,0)(-1,-2)(5.5,2.5)[$x$,-90][$y$,180]
\psplotImp[linecolor=red,stepFactor=.1,algebraic](-2,-2)(5,2){y^4-y^2-x}
\rput[tl](1,2){$y^4 - y^2 = x$}
\end{pspicture}
\end{document}

在此处输入图片描述

编辑

您还可以使用以下选项之一,而不用使用\psplotImp

\rput{-90}(0,0){\psplot[linecolor=red,algebraic]{-1.65}{1.65}{x^4-x^2}}

或者

\psparametricplot[linecolor=red]{-1.65}{1.65}{t^4-t^2|t}

相关内容