랜덤 궤적 플로팅

Sep 01 2020

안정성을 보여주기 위해 궤적 플롯을 재현하려고합니다. 내가 염두에 둔 이미지는 다음 그림과 유사합니다.

문제는 믿을 수있는 수치 데이터가 없기 때문에 선 궤적을 생성하는 방법을 실제로 알지 못한다는 것입니다. 궤적의 형태는 점근 적 행동을 보이는 한 관련이 없습니다. 가급적이면 그림에있는 것과 같아야합니다. 다음 코드에서 현재 진행 상황을 확인합니다.

\documentclass[tikz]{standalone}
\usepackage{geometry}
\usepackage{pgfplots}
\usepackage{bm}
\usetikzlibrary{3d,calc}
\usepgfplotslibrary{fillbetween}

\begin{document}
   \begin{tikzpicture}%[show grid=all]
      % background
      \path[name path=C] (-1.5,1.75) -- (1.5,3.25);
      \path[name path=D] (-1.5,-1.5) -- (1.5,0.5);
      \tikzfillbetween[of=C and D]{top color=gray!10!white, bottom color=white, opacity=0.02};
      % axis
      \draw[gray!50!white,->,very thick,>=latex] (0,-0.5) -- (0,2.5);
      \draw[gray!50!white,->,very thick,>=latex] (1.5,1.75)  -- (-1.5,0.25);
      \draw[gray!50!white,->,very thick,>=latex] (0,1)  -- (7,1);
      \filldraw[black] (0,1) circle (1.2pt);
      \filldraw[black] (6,1) circle (1.2pt);
      \draw[blue!50!white,dashed,very thick] (0,0) arc (-90:90:0.6cm and 1cm);
      \draw[blue!50!white,thick] (0,0) arc (-90:90:-0.6cm and 1cm);
      \draw[blue!50!white,thick] (6,0.5) arc (-90:90:-0.4cm and 0.5cm);
      \draw[blue!50!white,thick] (6,0.5) arc (-90:90:0.4cm and 0.5cm);
      \draw[blue!50!white,thick,name path = A] (0,2) to[in=180,out=-12] (6,1.5);
      \draw[blue!50!white,thick,name path = B] (0,0) to[in=180,out=12] (6,0.5);
      \tikzfillbetween[of=A and B]{blue!50!white, opacity=0.2};
      \shade[left color=blue!50!white,right color=blue!50!white,opacity=0.2] (0,0) arc (-90:90:-0.6cm and 1cm);
      \shade[left color=blue!50!white,right color=blue!50!white,opacity=0.2] (6,0.5) arc (-90:90:0.4cm and 0.5cm);
      % axis labels
      \node at (0,2.9) {$\varphi_{1}(t)$};
      \node at (-2,0.21) {$\varphi_{2}(t)$};
      \node at (7.15,1) {$t$};
      \draw[thick,->,>=latex] (0,1) -- (0,2) node [midway,scale=0.9,right]{$\delta$};
      \draw[thick,->,>=latex] (6,1) -- (6,1.5) node [midway,scale=0.9,right]{$\varepsilon$};
      \draw[dashed,blue] (-0.3,1.35) -- (-2,2.5) node [pos=1.2,text=black,scale=0.9]{$\bm{\varphi}(0)$};
      % trajectory
      \filldraw[blue!90!white] (-0.3,1.35) circle (1.2pt);
      % border adjustment (standalone crop problems)
      \node at (0,-2.3) {$$}; \node at (8,0) {$$};
   \end{tikzpicture}
\end{document}

답변

7 Bakr Sep 01 2020 at 17:49

나는 Plotting loops : trajectories and directions 의 답을 사용 하여 다음 궤적을 그릴 수있었습니다 .

다음은 코드입니다.

\documentclass[tikz]{standalone}
\usepackage{geometry}
\usepackage{pgfplots}
\usepackage{bm}
\usetikzlibrary{3d,calc}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{arrows.meta,hobby}

\begin{document}
   \begin{tikzpicture}[use Hobby shortcut]%[show grid=all]
      \tikzset{axisArrow/.style={gray!50!white,very thick,>=stealth,arrows={->[fill=black]}}}
      % background
      \path[name path=C] (-1.5,1.75) -- (1.5,3.25);
      \path[name path=D] (-1.5,-1.5) -- (1.5,0.5);
      \tikzfillbetween[of=C and D]{top color=gray!10!white, bottom color=white, opacity=0.02};
      % axis
      \draw[axisArrow] (0,-0.5) -- (0,2.5);
      \draw[axisArrow] (1.5,1.75)  -- (-1.5,0.25);
      \draw[axisArrow] (0,1)  -- (7,1);
      \filldraw[black] (0,1) circle (1.2pt);
      \filldraw[black] (6,1) circle (1.2pt);
      \draw[blue!50!white,dashed, thick] (0,0) arc (-90:90:0.6cm and 1cm);
      \draw[blue!50!white,thick] (0,0) arc (-90:90:-0.6cm and 1cm);
      \draw[blue!50!white,thick] (6,0.5) arc (-90:90:-0.4cm and 0.5cm);
      \draw[blue!50!white,thick] (6,0.5) arc (-90:90:0.4cm and 0.5cm);
      \draw[blue!50!white,thick,name path = A] (0,2) to[in=180,out=-12] (6,1.5);
      \draw[blue!50!white,thick,name path = B] (0,0) to[in=180,out=12] (6,0.5);
      \tikzfillbetween[of=A and B]{blue!50!white, opacity=0.2};
      \shade[left color=blue!50!white,right color=blue!50!white,opacity=0.2] (0,0) arc (-90:90:-0.6cm and 1cm);
      \shade[left color=blue!50!white,right color=blue!50!white,opacity=0.2] (6,0.5) arc (-90:90:0.4cm and 0.5cm);
      % axis labels
      \node at (0,2.9) {$\varphi_{1}(t)$};
      \node at (-2,0.21) {$\varphi_{2}(t)$};
      \node at (7.15,1) {$t$};
      \node[scale=0.7] at (5,1.65) {$t\rightarrow \infty$};
      \draw[thick,->,>=stealth] (0,1) -- (0,2) node [midway,scale=0.9,right]{$\delta$};
      \draw[thick,->,>=stealth] (6,1) -- (6,1.5) node [midway,scale=0.9,right]{$\varepsilon$};
      \draw[dashed,blue] (-0.3,1.35) -- (-2,2.5) node [pos=1.2,text=black,scale=0.9]{$\bm{\varphi}(0)$};
      % trajectory
      \filldraw[blue!90!white] (-0.3,1.35) circle (1.2pt);
     \draw[-stealth,blue!90!white,thick] (-0.3,1.35) .. (1,0.5) .. (1.75,1.4) .. (1.5,1.2) .. (2,1.2) .. (2.5,1.1) .. (3,0.9) .. (3,1) .. (4,1) .. (4.3,1) .. (4.8,1) -- (5.55,1);
      % border adjustment (standalone crop problems)
      \node at (0,-2.3) {$$}; \node at (8,0) {$$};
   \end{tikzpicture}
\end{document}