@@ -27,16 +27,16 @@ def invpend_ode(x, t, m=1., l=1., b=0.2, g=1):
2727
2828# Outer trajectories
2929PhasePlot (invpend_ode ,
30- 'logtime' , ( 3 , 0.7 ), None ,
31- [ [ - 2 * pi , 1.6 ], [- 2 * pi , 0.5 ], [- 1.8 , 2.1 ],
32- [ - 1 , 2.1 ], [4.2 , 2.1 ], [5 , 2.1 ],
33- [ 2 * pi , - 1.6 ], [2 * pi , - 0.5 ], [1.8 , - 2.1 ],
34- [ 1 , - 2.1 ], [ - 4.2 , - 2.1 ], [ - 5 , - 2.1 ] ],
35- np . linspace ( 0 , 40 , 200 ) )
30+ X0 = [ [ - 2 * pi , 1.6 ], [ - 2 * pi , 0.5 ], [ - 1.8 , 2.1 ],
31+ [ - 1 , 2.1 ], [4.2 , 2.1 ], [5 , 2.1 ],
32+ [ 2 * pi , - 1.6 ], [2 * pi , - 0.5 ], [1.8 , - 2.1 ],
33+ [ 1 , - 2.1 ], [- 4.2 , - 2.1 ], [- 5 , - 2.1 ] ],
34+ T = np . linspace ( 0 , 40 , 200 ),
35+ logtime = ( 3 , 0.7 ) )
3636
3737# Separatrices
3838mpl .hold (True );
39- PhasePlot (invpend_ode , 'auto' , 0 , None , [[- 2.3056 , 2.1 ], [2.3056 , - 2.1 ]], 6 )
39+ PhasePlot (invpend_ode , X0 = [[- 2.3056 , 2.1 ], [2.3056 , - 2.1 ]], T = 6 , lingrid = 0 )
4040mpl .show ();
4141
4242#
@@ -57,10 +57,10 @@ def oscillator_ode(x, t, m=1., b=1, k=1):
5757mpl .figure (); mpl .clf ();
5858mpl .axis ([- 1 , 1 , - 1 , 1 ]); # set(gca, 'DataAspectRatio', [1, 1, 1]);
5959PhasePlot (oscillator_ode ,
60- 'timepts' , [ 0.25 , 0.8 , 2 , 3 ], None , [
61- [- 1 , 1 ], [- 0.3 , 1 ], [0 , 1 ], [0.25 , 1 ], [0.5 , 1 ], [0.75 , 1 ], [1 , 1 ],
62- [1 , - 1 ], [0.3 , - 1 ], [0 , - 1 ], [- 0.25 , - 1 ], [- 0.5 , - 1 ], [- 0.75 , - 1 ], [- 1 , - 1 ]
63- ], np .linspace (0 , 8 , 80 ))
60+ X0 = [
61+ [- 1 , 1 ], [- 0.3 , 1 ], [0 , 1 ], [0.25 , 1 ], [0.5 , 1 ], [0.75 , 1 ], [1 , 1 ],
62+ [1 , - 1 ], [0.3 , - 1 ], [0 , - 1 ], [- 0.25 , - 1 ], [- 0.5 , - 1 ], [- 0.75 , - 1 ], [- 1 , - 1 ]
63+ ], T = np .linspace (0 , 8 , 80 ), timepts = [ 0.25 , 0.8 , 2 , 3 ] )
6464mpl .hold (True ); mpl .plot ([0 ], [0 ], 'k.' ); # 'MarkerSize', AM_data_markersize*3);
6565# set(gca,'DataAspectRatio',[1,1,1]);
6666mpl .xlabel ('x1' ); mpl .ylabel ('x2' );
@@ -81,26 +81,28 @@ def saddle_ode(x, t):
8181m = 1 ; b = 1 ; k = 1 ; # default values
8282mpl .figure (); mpl .clf ();
8383mpl .axis ([- 1 , 1 , - 1 , 1 ]); # set(gca, 'DataAspectRatio', [1 1 1]);
84- PhasePlot (oscillator_ode , 'timepts' , [0.3 , 1 , 2 , 3 ], None ,
85- [[- 1 ,1 ], [- 0.3 ,1 ], [0 ,1 ], [0.25 ,1 ], [0.5 ,1 ], [0.7 ,1 ], [1 ,1 ], [1.3 ,1 ],
86- [1 ,- 1 ], [0.3 ,- 1 ], [0 ,- 1 ], [- 0.25 ,- 1 ], [- 0.5 ,- 1 ], [- 0.7 ,- 1 ], [- 1 ,- 1 ],
87- [- 1.3 ,- 1 ]],
88- np .linspace (0 , 10 , 100 ), parms = (m , b , k ));
84+ PhasePlot (oscillator_ode ,
85+ X0 = [
86+ [- 1 ,1 ], [- 0.3 ,1 ], [0 ,1 ], [0.25 ,1 ], [0.5 ,1 ], [0.7 ,1 ], [1 ,1 ], [1.3 ,1 ],
87+ [1 ,- 1 ], [0.3 ,- 1 ], [0 ,- 1 ], [- 0.25 ,- 1 ], [- 0.5 ,- 1 ], [- 0.7 ,- 1 ], [- 1 ,- 1 ],
88+ [- 1.3 ,- 1 ]
89+ ], T = np .linspace (0 , 10 , 100 ),
90+ timepts = [0.3 , 1 , 2 , 3 ], parms = (m , b , k ));
8991mpl .hold (True ); mpl .plot ([0 ], [0 ], 'k.' ); # 'MarkerSize', AM_data_markersize*3);
9092# set(gca,'FontSize', 16);
9193mpl .xlabel ('{\itx}_1' ); mpl .ylabel ('{\itx}_2' );
9294
9395# Saddle
9496mpl .figure (); mpl .clf ();
9597mpl .axis ([- 1 , 1 , - 1 , 1 ]); # set(gca, 'DataAspectRatio', [1 1 1]);
96- PhasePlot (saddle_ode , 'timepts' , [0.2 , 0.5 , 0.8 ], None ,
98+ PhasePlot (saddle_ode , scale = 2 , timepts = [0.2 , 0.5 , 0.8 ], X0 =
9799 [ [- 1 , - 1 ], [1 , 1 ],
98100 [- 1 , - 0.95 ], [- 1 , - 0.9 ], [- 1 , - 0.8 ], [- 1 , - 0.6 ], [- 1 , - 0.4 ], [- 1 , - 0.2 ],
99101 [- 0.95 , - 1 ], [- 0.9 , - 1 ], [- 0.8 , - 1 ], [- 0.6 , - 1 ], [- 0.4 , - 1 ], [- 0.2 , - 1 ],
100102 [1 , 0.95 ], [1 , 0.9 ], [1 , 0.8 ], [1 , 0.6 ], [1 , 0.4 ], [1 , 0.2 ],
101103 [0.95 , 1 ], [0.9 , 1 ], [0.8 , 1 ], [0.6 , 1 ], [0.4 , 1 ], [0.2 , 1 ],
102104 [- 0.5 , - 0.45 ], [- 0.45 , - 0.5 ], [0.5 , 0.45 ], [0.45 , 0.5 ],
103- [- 0.04 , 0.04 ], [0.04 , - 0.04 ] ], np .linspace (0 , 2 , 20 ));
105+ [- 0.04 , 0.04 ], [0.04 , - 0.04 ] ], T = np .linspace (0 , 2 , 20 ));
104106mpl .hold (True ); mpl .plot ([0 ], [0 ], 'k.' ); # 'MarkerSize', AM_data_markersize*3);
105107# set(gca,'FontSize', 16);
106108mpl .xlabel ('{\itx}_1' ); mpl .ylabel ('{\itx}_2' );
@@ -109,10 +111,10 @@ def saddle_ode(x, t):
109111m = 1 ; b = 0 ; k = 1 ; # zero damping
110112mpl .figure (); mpl .clf ();
111113mpl .axis ([- 1 , 1 , - 1 , 1 ]); # set(gca, 'DataAspectRatio', [1 1 1]);
112- PhasePlot (oscillator_ode , ' timepts' ,
113- [pi / 6 , pi / 3 , pi / 2 , 2 * pi / 3 , 5 * pi / 6 , pi , 7 * pi / 6 , 4 * pi / 3 , 9 * pi / 6 , 5 * pi / 3 , 11 * pi / 6 , 2 * pi ], None ,
114- [ [0.2 ,0 ], [0.4 ,0 ], [0.6 ,0 ], [0.8 ,0 ], [1 ,0 ], [1.2 ,0 ], [1.4 ,0 ] ],
115- np .linspace (0 , 20 , 200 ), parms = (m , b , k ));
114+ PhasePlot (oscillator_ode , timepts =
115+ [pi / 6 , pi / 3 , pi / 2 , 2 * pi / 3 , 5 * pi / 6 , pi , 7 * pi / 6 , 4 * pi / 3 , 9 * pi / 6 , 5 * pi / 3 , 11 * pi / 6 , 2 * pi ],
116+ X0 = [ [0.2 ,0 ], [0.4 ,0 ], [0.6 ,0 ], [0.8 ,0 ], [1 ,0 ], [1.2 ,0 ], [1.4 ,0 ] ],
117+ T = np .linspace (0 , 20 , 200 ), parms = (m , b , k ));
116118mpl .hold (True ); mpl .plot ([0 ], [0 ], 'k.' ) # 'MarkerSize', AM_data_markersize*3);
117119# set(gca,'FontSize', 16);
118120mpl .xlabel ('{\itx}_1' ); mpl .ylabel ('{\itx}_2' );
0 commit comments