用箭筒绘制微分方程解

用箭筒绘制微分方程解

我正在尝试绘图,\addplot3但我不知道 quiver 中的输入是什么。我想要一个这样的图:

这三个点是微分方程的解

这三个点是微分方程的解。我需要在点(1,0)(1/3, 2/3)、处绘制其他解(0,1)。如下所示:

在此处输入图片描述

这是我的代码:

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:1, xmin=0, xmax=1, ymin=0, ymax=1, 
xtick pos=bottom, ytick pos=left, 
xlabel style={anchor=west,at={(1,-0.1)},xshift=10pt}, 
xlabel=$ x_{Ht} $, xtick={0,1/3,1}, xticklabels={0,$\frac{1}{3}$,$1$},
ylabel style={anchor=south,at={(-0.1,1)},yshift=1mm,rotate=-90},
ylabel=$ x_{Pt} $, ytick={2/3,1}, yticklabels={$ \frac{2}{3} $,1}, view={0}{90} 
]
\addplot3[color=black!30!white,
quiver={
u={-x},
v={1/3},
scale arrows=0.1
},
-stealth,
samples=20]{0};
\end{axis}
\end{tikzpicture}
\end{document}

我希望有人能帮助我。谢谢!

答案1

像这样吗?

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:1, xmin=0, xmax=1, ymin=0, ymax=1, 
xtick pos=bottom, ytick pos=left, 
xlabel style={anchor=west,at={(1,-0.1)},xshift=10pt}, 
xlabel=$ x_{Ht} $, xtick={0,1/3,1}, xticklabels={0,$\frac{1}{3}$,$1$},
ylabel style={anchor=south,at={(-0.1,1)},yshift=1mm,rotate=-90},
ylabel=$ x_{Pt} $, ytick={2/3,1}, yticklabels={$ \frac{2}{3} $,1}, view={0}{90} 
]
\addplot3[color=black!30!white,
quiver={
u={(y-1/3)/veclen(x-2/3,y-1/3)},
v={(x-2/3)/veclen(x-2/3,y-1/3)},
scale arrows=0.04,
},
-stealth,
samples=12]{0};
\path (0,0,0) coordinate (P1) (1,1,0) coordinate (P2)
 (2/3,1/3,0) coordinate (P3);
\end{axis}
\draw[red] foreach \X in {1,2,3} {(P\X) circle[radius=3pt]};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容