File:Simple jump in slow-fast systems.svg
Summary
Description |
English: Phase portrait of the jump in en:slow-fast systems
This is a phase portrait of the following system: Русский: Фазовый портрет простого срыва в быстро-медленных системах |
Date | |
Source | Own work |
Author | Ilya Voyager |
SVG development | ![]() This vector image was created with version 4.3 of GNU libplot, a free library for exporting 2-D vector graphics.. |
Source code | SVG codeimport graph;
import math;
import metapost;
size(8 inches);
defaultpen(0.45mm);
path phasecurve(pair v(pair z), pair z0, real T, real step=0.01, real MAX=3)
{
real direction=(T>0?1:-1);
real t;
T=abs(T);
path ret=z0;
pair cur_z=z0;
for(t=0;t<T;t+=step)
{
cur_z=cur_z+v(cur_z)*step*direction;
if(abs(cur_z.x)>MAX || abs(cur_z.y)>MAX)
{
return ret;
}
ret=ret..cur_z;
}
return ret;
}
pair slowfast(pair z)
{
real eps=0.1;
return (eps,-(z.y*z.y+z.x-2));
}
path boundary=(-3,-3)--(3,-3)--(3,3)--(-3,3)--cycle;
draw(boundary);
pair[] inits={
(-2,3), (-1,3), (0,3), (1,3), (2,3), (2.5, 3),
(-2,-1),(-1,-1),(0,-1),(1,-1),(1,-0.8),
(-2,-2.1),(-1,-2),(0,-1.7),(1.5,-0.5),(1.7,-0.6)
};
for (pair init: inits)
{
draw(phasecurve(slowfast,init,15),Arrow(4mm, Relative(0.3)));
}
draw(firstcut(graph(new pair(real t){return (2-t*t,t);},-3,0),boundary).after, p=rgb(1,0.0,0.0));
draw(lastcut (graph(new pair(real t){return (2-t*t,t);}, 0,3),boundary).before,p=rgb(0.2,0.8,0.2));
xaxis("${y}$",BottomTop,p=fontsize(30),EndArrow);
yaxis("${x}$",LeftRight,p=fontsize(30),EndArrow);
|
Licensing
![]() |
I, the copyright holder of this work, release this work into the public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law. |