MaplePrimes Questions

Before at most a year i asked about this applying long wave limit which is coming from some kind of series which i am not sure to how get this result from the series but i provide just the two function of series for appyting the long wave limit and then we can generalized to N value of them, i asked to Ai too he give me a good explanation and somehow he did programing but  i am not cool with programing of Ai,  i  am looking for result eq14 and eq 20 , i have a series for eq(12) N=2 and for other N too but by applying long wave limit it is become to eq(14) and then F[4] becone to eq(20) i want that result by don't have any idea how reach it  

Long-wave-limit-testing.mw

Ai-result.mw

update F4

In the attached file "test," a system of ordinary differential equations is solved. I was able to create the (r, phi) plot. But how are the (t, r(t)) and (t, phi(t)) plots executed with the calculation results?
What does "range" mean in the (r, phi) plot command? Is there a more precise numerical method than the Runge-Kutta method used in "test" (perhaps a finer t-division of the axis?)?

restart

eq1 := diff(r(t), t)+1+cos(`ϕ`(t)) = 0; eq2 := diff(`ϕ`(t), t)+1-sin(`ϕ`(t))/r(t) = 0

diff(r(t), t)+1+cos(varphi(t)) = 0

 

diff(varphi(t), t)+1-sin(varphi(t))/r(t) = 0

(1)

``

ics := r(0) = 2.0, `ϕ`(0) = Pi/(1.5)

r(0) = 2.0, varphi(0) = 2.094395103

(2)

soln := dsolve({eq1, eq2, ics}, {r(t), `ϕ`(t)}, numeric, start = 0, range = 0 .. 3)

proc (x_rkf45) local _res, _dat, _vars, _solnproc, _xout, _ndsol, _pars, _n, _i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; if 1 < nargs then error "invalid input: too many arguments" end if; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then _xout := evalf[_EnvDSNumericSaveDigits](x_rkf45) else _xout := evalf(x_rkf45) end if; _dat := Array(1..4, {(1) = proc (_xin) local _xout, _dtbl, _dat, _vmap, _x0, _y0, _val, _dig, _n, _ne, _nd, _nv, _pars, _ini, _par, _i, _j, _k, _src; option `Copyright (c) 2002 by Waterloo Maple Inc. All rights reserved.`; table( [( "complex" ) = false, ( "right" ) = 3., ( "left" ) = 0. ] ) _xout := _xin; _pars := []; _dtbl := array( 1 .. 4, [( 1 ) = (array( 1 .. 28, [( 1 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 2 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 3 ) = ([0, 0, 0, Array(1..0, 1..2, {}, datatype = float[8], order = C_order)]), ( 4 ) = (Array(1..65, {(1) = 2, (2) = 2, (3) = 0, (4) = 0, (5) = 0, (6) = 0, (7) = 1, (8) = 0, (9) = 0, (10) = 1, (11) = 0, (12) = 0, (13) = 0, (14) = 0, (15) = 0, (16) = 0, (17) = 0, (18) = 1, (19) = 30000, (20) = 0, (21) = 0, (22) = 1, (23) = 4, (24) = 0, (25) = 1, (26) = 15, (27) = 1, (28) = 0, (29) = 1, (30) = 3, (31) = 3, (32) = 0, (33) = 1, (34) = 0, (35) = 0, (36) = 0, (37) = 0, (38) = 0, (39) = 0, (40) = 0, (41) = 0, (42) = 0, (43) = 1, (44) = 0, (45) = 0, (46) = 0, (47) = 0, (48) = 0, (49) = 0, (50) = 50, (51) = 1, (52) = 0, (53) = 0, (54) = 0, (55) = 0, (56) = 0, (57) = 0, (58) = 0, (59) = 10000, (60) = 0, (61) = 1000, (62) = 0, (63) = 0, (64) = -1, (65) = 0}, datatype = integer[8])), ( 5 ) = (Array(1..28, {(1) = 3.0, (2) = 0.10e-5, (3) = .0, (4) = 0.500001e-14, (5) = .0, (6) = .19535812688284548, (7) = .0, (8) = 0.10e-5, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = 1.0, (14) = .0, (15) = .49999999999999, (16) = .0, (17) = 1.0, (18) = 1.0, (19) = .0, (20) = .0, (21) = 1.0, (22) = 1.0, (23) = .0, (24) = .0, (25) = 0.10e-14, (26) = .0, (27) = .0, (28) = .0}, datatype = float[8], order = C_order)), ( 6 ) = (Array(1..2, {(1) = 2.0, (2) = 2.094395103}, datatype = float[8], order = C_order)), ( 7 ) = ([Array(1..4, 1..7, {(1, 1) = .0, (1, 2) = .203125, (1, 3) = .3046875, (1, 4) = .75, (1, 5) = .8125, (1, 6) = .40625, (1, 7) = .8125, (2, 1) = 0.6378173828125e-1, (2, 2) = .0, (2, 3) = .279296875, (2, 4) = .27237892150878906, (2, 5) = -0.9686851501464844e-1, (2, 6) = 0.1956939697265625e-1, (2, 7) = .5381584167480469, (3, 1) = 0.31890869140625e-1, (3, 2) = .0, (3, 3) = -.34375, (3, 4) = -.335235595703125, (3, 5) = .2296142578125, (3, 6) = .41748046875, (3, 7) = 11.480712890625, (4, 1) = 0.9710520505905151e-1, (4, 2) = .0, (4, 3) = .40350341796875, (4, 4) = 0.20297467708587646e-1, (4, 5) = -0.6054282188415527e-2, (4, 6) = -0.4770040512084961e-1, (4, 7) = .77858567237854}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = 1.0, (2, 1) = .25, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = 1.0, (3, 1) = .1875, (3, 2) = .5625, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = 2.0, (4, 1) = .23583984375, (4, 2) = -.87890625, (4, 3) = .890625, (4, 4) = .0, (4, 5) = .0, (4, 6) = .2681884765625, (5, 1) = .1272735595703125, (5, 2) = -.5009765625, (5, 3) = .44921875, (5, 4) = -0.128936767578125e-1, (5, 5) = .0, (5, 6) = 0.626220703125e-1, (6, 1) = -0.927734375e-1, (6, 2) = .626220703125, (6, 3) = -.4326171875, (6, 4) = .1418304443359375, (6, 5) = -0.861053466796875e-1, (6, 6) = .3131103515625}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .386, (3) = .21, (4) = .63, (5) = 1.0, (6) = 1.0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .25, (2) = -.1043, (3) = .1035, (4) = -0.362e-1, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 1.544, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = .9466785280815533, (3, 2) = .25570116989825814, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = 3.3148251870684886, (4, 2) = 2.896124015972123, (4, 3) = .9986419139977808, (4, 4) = .0, (4, 5) = .0, (5, 1) = 1.2212245092262748, (5, 2) = 6.019134481287752, (5, 3) = 12.537083329320874, (5, 4) = -.687886036105895, (5, 5) = .0, (6, 1) = 1.2212245092262748, (6, 2) = 6.019134481287752, (6, 3) = 12.537083329320874, (6, 4) = -.687886036105895, (6, 5) = 1.0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = -5.6688, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = -2.4300933568337584, (3, 2) = -.20635991570891224, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = -.10735290581452621, (4, 2) = -9.594562251021896, (4, 3) = -20.470286148096154, (4, 4) = .0, (4, 5) = .0, (5, 1) = 7.496443313968615, (5, 2) = -10.246804314641219, (5, 3) = -33.99990352819906, (5, 4) = 11.708908932061595, (5, 5) = .0, (6, 1) = 8.083246795922411, (6, 2) = -7.981132988062785, (6, 3) = -31.52159432874373, (6, 4) = 16.319305431231363, (6, 5) = -6.0588182388340535}, datatype = float[8], order = C_order), Array(1..3, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 10.126235083446911, (2, 2) = -7.487995877607633, (2, 3) = -34.800918615557414, (2, 4) = -7.9927717075687275, (2, 5) = 1.0251377232956207, (3, 1) = -.6762803392806898, (3, 2) = 6.087714651678606, (3, 3) = 16.43084320892463, (3, 4) = 24.767225114183653, (3, 5) = -6.5943891257167815}, datatype = float[8], order = C_order)]), ( 9 ) = ([Array(1..2, {(1) = .1, (2) = .1}, datatype = float[8], order = C_order), Array(1..2, {(1) = .22047804756371955, (2) = 2.873107829856247}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = -0.3386381880498868e-1, (2) = .17766918858144054}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..6, {(1, 1) = -0.3386381880498868e-1, (1, 2) = -0.377585836518608e-1, (1, 3) = -0.3708633582928045e-1, (1, 4) = -0.34124098676952874e-1, (1, 5) = -0.3363280624230314e-1, (1, 6) = -0.3641604213065852e-1, (2, 1) = .17766918858144054, (2, 2) = .22761845480999643, (2, 3) = .2192661580732893, (2, 4) = .18085452152511095, (2, 5) = .17405774363177118, (2, 6) = .2108205409669659}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0, (2) = 0}, datatype = integer[8]), Array(1..2, {(1) = .22040658040387567, (2) = 2.873512341267432}, datatype = float[8], order = C_order), Array(1..2, {(1) = .21910457742849349, (2) = 2.8806072512024623}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0.17347438180381758e-7, (2) = 0.10386005389051434e-7}, datatype = float[8], order = C_order), Array(1..2, {(1) = .22270057794927467, (2) = 2.8597843388449604}, datatype = float[8], order = C_order), Array(1..2, {(1) = -0.3569387106220412e-1, (2) = .20146120823190228}, datatype = float[8], order = C_order), Array(1..4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0, (2) = 0}, datatype = integer[8])]), ( 8 ) = ([Array(1..2, {(1) = 2.0, (2) = 2.094395103}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = -.4999999994744918, (2) = -.5669872982594819}, datatype = float[8], order = C_order), 0, 0]), ( 11 ) = (Array(1..6, 0..2, {(1, 1) = .0, (1, 2) = .0, (2, 0) = .0, (2, 1) = .0, (2, 2) = .0, (3, 0) = .0, (3, 1) = .0, (3, 2) = .0, (4, 0) = .0, (4, 1) = .0, (4, 2) = .0, (5, 0) = .0, (5, 1) = .0, (5, 2) = .0, (6, 0) = .0, (6, 1) = .0, (6, 2) = .0}, datatype = float[8], order = C_order)), ( 10 ) = ([proc (N, X, Y, YP) option `[Y[1] = r(t), Y[2] = varphi(t)]`; YP[1] := -1-cos(Y[2]); YP[2] := -1+sin(Y[2])/Y[1]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 13 ) = (), ( 12 ) = (), ( 15 ) = ("rkf45"), ( 14 ) = ([0, 0]), ( 18 ) = ([]), ( 19 ) = (0), ( 16 ) = ([0, 0, 0, 0, 0, 0, []]), ( 17 ) = ([proc (N, X, Y, YP) option `[Y[1] = r(t), Y[2] = varphi(t)]`; YP[1] := -1-cos(Y[2]); YP[2] := -1+sin(Y[2])/Y[1]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 22 ) = (0), ( 23 ) = (0), ( 20 ) = ([]), ( 21 ) = (0), ( 27 ) = (""), ( 26 ) = (Array(1..0, {})), ( 25 ) = (Array(1..0, {})), ( 24 ) = (0), ( 28 ) = (0)  ] )), ( 3 ) = (array( 1 .. 28, [( 1 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 2 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 3 ) = ([0, 0, 0, Array(1..0, 1..2, {}, datatype = float[8], order = C_order)]), ( 4 ) = (Array(1..65, {(1) = 2, (2) = 2, (3) = 0, (4) = 0, (5) = 0, (6) = 0, (7) = 1, (8) = 1, (9) = 0, (10) = 1, (11) = 85, (12) = 85, (13) = 0, (14) = 0, (15) = 0, (16) = 0, (17) = 0, (18) = 155, (19) = 30000, (20) = 5, (21) = 0, (22) = 1, (23) = 4, (24) = 0, (25) = 1, (26) = 15, (27) = 1, (28) = 0, (29) = 1, (30) = 3, (31) = 3, (32) = 0, (33) = 1, (34) = 0, (35) = 0, (36) = 0, (37) = 0, (38) = 0, (39) = 0, (40) = 0, (41) = 0, (42) = 0, (43) = 1, (44) = 0, (45) = 0, (46) = 0, (47) = 0, (48) = 0, (49) = 0, (50) = 50, (51) = 1, (52) = 0, (53) = 0, (54) = 0, (55) = 0, (56) = 0, (57) = 0, (58) = 0, (59) = 10000, (60) = 0, (61) = 1000, (62) = 0, (63) = 0, (64) = -1, (65) = 0}, datatype = integer[8])), ( 5 ) = (Array(1..28, {(1) = 3.0, (2) = 0.10e-5, (3) = .10304186874784538, (4) = 0.500001e-14, (5) = .0, (6) = .19535812688284548, (7) = .0, (8) = 0.10e-5, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = 1.0, (14) = .0, (15) = .49999999999999, (16) = .0, (17) = 1.0, (18) = 1.0, (19) = .0, (20) = .0, (21) = 1.0, (22) = 1.0, (23) = .0, (24) = .0, (25) = 0.10e-14, (26) = .0, (27) = .0, (28) = .0}, datatype = float[8], order = C_order)), ( 6 ) = (Array(1..2, {(1) = 2.0, (2) = 2.094395103}, datatype = float[8], order = C_order)), ( 7 ) = ([Array(1..4, 1..7, {(1, 1) = .0, (1, 2) = .203125, (1, 3) = .3046875, (1, 4) = .75, (1, 5) = .8125, (1, 6) = .40625, (1, 7) = .8125, (2, 1) = 0.6378173828125e-1, (2, 2) = .0, (2, 3) = .279296875, (2, 4) = .27237892150878906, (2, 5) = -0.9686851501464844e-1, (2, 6) = 0.1956939697265625e-1, (2, 7) = .5381584167480469, (3, 1) = 0.31890869140625e-1, (3, 2) = .0, (3, 3) = -.34375, (3, 4) = -.335235595703125, (3, 5) = .2296142578125, (3, 6) = .41748046875, (3, 7) = 11.480712890625, (4, 1) = 0.9710520505905151e-1, (4, 2) = .0, (4, 3) = .40350341796875, (4, 4) = 0.20297467708587646e-1, (4, 5) = -0.6054282188415527e-2, (4, 6) = -0.4770040512084961e-1, (4, 7) = .77858567237854}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = 1.0, (2, 1) = .25, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = 1.0, (3, 1) = .1875, (3, 2) = .5625, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = 2.0, (4, 1) = .23583984375, (4, 2) = -.87890625, (4, 3) = .890625, (4, 4) = .0, (4, 5) = .0, (4, 6) = .2681884765625, (5, 1) = .1272735595703125, (5, 2) = -.5009765625, (5, 3) = .44921875, (5, 4) = -0.128936767578125e-1, (5, 5) = .0, (5, 6) = 0.626220703125e-1, (6, 1) = -0.927734375e-1, (6, 2) = .626220703125, (6, 3) = -.4326171875, (6, 4) = .1418304443359375, (6, 5) = -0.861053466796875e-1, (6, 6) = .3131103515625}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .386, (3) = .21, (4) = .63, (5) = 1.0, (6) = 1.0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .25, (2) = -.1043, (3) = .1035, (4) = -0.362e-1, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 1.544, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = .9466785280815533, (3, 2) = .25570116989825814, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = 3.3148251870684886, (4, 2) = 2.896124015972123, (4, 3) = .9986419139977808, (4, 4) = .0, (4, 5) = .0, (5, 1) = 1.2212245092262748, (5, 2) = 6.019134481287752, (5, 3) = 12.537083329320874, (5, 4) = -.687886036105895, (5, 5) = .0, (6, 1) = 1.2212245092262748, (6, 2) = 6.019134481287752, (6, 3) = 12.537083329320874, (6, 4) = -.687886036105895, (6, 5) = 1.0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = -5.6688, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = -2.4300933568337584, (3, 2) = -.20635991570891224, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = -.10735290581452621, (4, 2) = -9.594562251021896, (4, 3) = -20.470286148096154, (4, 4) = .0, (4, 5) = .0, (5, 1) = 7.496443313968615, (5, 2) = -10.246804314641219, (5, 3) = -33.99990352819906, (5, 4) = 11.708908932061595, (5, 5) = .0, (6, 1) = 8.083246795922411, (6, 2) = -7.981132988062785, (6, 3) = -31.52159432874373, (6, 4) = 16.319305431231363, (6, 5) = -6.0588182388340535}, datatype = float[8], order = C_order), Array(1..3, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 10.126235083446911, (2, 2) = -7.487995877607633, (2, 3) = -34.800918615557414, (2, 4) = -7.9927717075687275, (2, 5) = 1.0251377232956207, (3, 1) = -.6762803392806898, (3, 2) = 6.087714651678606, (3, 3) = 16.43084320892463, (3, 4) = 24.767225114183653, (3, 5) = -6.5943891257167815}, datatype = float[8], order = C_order)]), ( 9 ) = ([Array(1..2, {(1) = .1, (2) = .1}, datatype = float[8], order = C_order), Array(1..2, {(1) = .22047804756371955, (2) = 2.873107829856247}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = -0.3386381880498868e-1, (2) = .17766918858144054}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..6, {(1, 1) = -0.3386381880498868e-1, (1, 2) = -0.377585836518608e-1, (1, 3) = -0.3708633582928045e-1, (1, 4) = -0.34124098676952874e-1, (1, 5) = -0.3363280624230314e-1, (1, 6) = -0.3641604213065852e-1, (2, 1) = .17766918858144054, (2, 2) = .22761845480999643, (2, 3) = .2192661580732893, (2, 4) = .18085452152511095, (2, 5) = .17405774363177118, (2, 6) = .2108205409669659}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0, (2) = 0}, datatype = integer[8]), Array(1..2, {(1) = .22040658040387567, (2) = 2.873512341267432}, datatype = float[8], order = C_order), Array(1..2, {(1) = .21910457742849349, (2) = 2.8806072512024623}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0.17347438180381758e-7, (2) = 0.10386005389051434e-7}, datatype = float[8], order = C_order), Array(1..2, {(1) = .22270057794927467, (2) = 2.8597843388449604}, datatype = float[8], order = C_order), Array(1..2, {(1) = -0.3569387106220412e-1, (2) = .20146120823190228}, datatype = float[8], order = C_order), Array(1..4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0, (2) = 0}, datatype = integer[8])]), ( 8 ) = ([Array(1..2, {(1) = .22270057794927467, (2) = 2.8597843388449604}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = -0.3386381880498868e-1, (2) = .17766918858144054}, datatype = float[8], order = C_order), 0, 0]), ( 11 ) = (Array(1..6, 0..2, {(1, 1) = 2.938831384122585, (1, 2) = .22270057794927467, (2, 0) = .22270057794927467, (2, 1) = 2.8597843388449604, (2, 2) = 2.9634858657986514, (3, 0) = 2.9634858657986514, (3, 1) = .221748342025735, (3, 2) = 2.8656651287650265, (4, 0) = 2.8656651287650265, (4, 1) = 2.988140347474718, (4, 2) = .22083401075704298, (5, 0) = .22083401075704298, (5, 1) = 2.871070168038091, (5, 2) = 3.012794829150785, (6, 0) = 3.012794829150785, (6, 1) = .21995387131675959, (6, 2) = 2.876038628847415}, datatype = float[8], order = C_order)), ( 10 ) = ([proc (N, X, Y, YP) option `[Y[1] = r(t), Y[2] = varphi(t)]`; YP[1] := -1-cos(Y[2]); YP[2] := -1+sin(Y[2])/Y[1]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 13 ) = (), ( 12 ) = (Array(1..85, 0..2, {(1, 1) = .0, (1, 2) = 2.0, (2, 0) = 2.0, (2, 1) = 2.094395103, (2, 2) = 0.4883953172071137e-1, (3, 0) = 0.4883953172071137e-1, (3, 1) = 1.9749957636720312, (3, 2) = 2.0670025471235336, (4, 0) = 2.0670025471235336, (4, 1) = 0.9767906344142274e-1, (4, 2) = 1.9488280959770066, (5, 0) = 1.9488280959770066, (5, 1) = 2.04021084709857, (5, 2) = .1465185951621341, (6, 0) = .1465185951621341, (6, 1) = 1.9215068608366304, (6, 2) = 2.0140263347936975, (7, 0) = 2.0140263347936975, (7, 1) = .19535812688284548, (7, 2) = 1.893044054829213, (8, 0) = 1.893044054829213, (8, 1) = 1.988457425914424, (8, 2) = .280900476384457, (9, 0) = .280900476384457, (9, 1) = 1.8404843242365583, (9, 2) = 1.9451906076368206, (10, 0) = 1.9451906076368206, (10, 1) = .36644282588606847, (10, 2) = 1.7845598519772645, (11, 0) = 1.7845598519772645, (11, 1) = 1.9039191638716142, (11, 2) = .4519851753876799, (12, 0) = .4519851753876799, (12, 1) = 1.7253847367916073, (12, 2) = 1.8647415453538858, (13, 0) = 1.8647415453538858, (13, 1) = .5375275248892915, (13, 2) = 1.6630931456083156, (14, 0) = 1.6630931456083156, (14, 1) = 1.827785275008053, (14, 2) = .616075451639432, (15, 0) = .616075451639432, (15, 1) = 1.603283300376125, (15, 2) = 1.7959429678186245, (16, 0) = 1.7959429678186245, (16, 1) = .6946233783895726, (16, 2) = 1.5411171896322202, (17, 0) = 1.5411171896322202, (17, 1) = 1.7662563673049378, (17, 2) = .7731713051397131, (18, 0) = .7731713051397131, (18, 1) = 1.4767537695478887, (18, 2) = 1.7389080337794152, (19, 0) = 1.7389080337794152, (19, 1) = .8517192318898537, (19, 2) = 1.4103708331171143, (20, 0) = 1.4103708331171143, (20, 1) = 1.7141191124530415, (20, 2) = .9177358538213208, (21, 0) = .9177358538213208, (21, 1) = 1.3531616403350515, (21, 2) = 1.6954560815446786, (22, 0) = 1.6954560815446786, (22, 1) = .983752475752788, (22, 2) = 1.2948000182859192, (23, 0) = 1.2948000182859192, (23, 1) = 1.6789696037423298, (23, 2) = 1.0497690976842553, (24, 0) = 1.0497690976842553, (24, 1) = 1.235434387752726, (24, 2) = 1.664875276796809, (25, 0) = 1.664875276796809, (25, 1) = 1.1157857196157224, (25, 2) = 1.1752283323792916, (26, 0) = 1.1752283323792916, (26, 1) = 1.6534251811289784, (26, 2) = 1.17181879714737, (27, 0) = 1.17181879714737, (27, 1) = 1.1236019582656207, (27, 2) = 1.6459973906746916, (28, 0) = 1.6459973906746916, (28, 1) = 1.2278518746790175, (28, 2) = 1.0716241501398995, (29, 0) = 1.0716241501398995, (29, 1) = 1.640888665777501, (29, 2) = 1.2838849522106648, (30, 0) = 1.2838849522106648, (30, 1) = 1.0194315393350855, (30, 2) = 1.6383329167946707, (31, 0) = 1.6383329167946707, (31, 1) = 1.3399180297423123, (31, 2) = .967173884862351, (32, 0) = .967173884862351, (32, 1) = 1.63859579173605, (32, 2) = 1.3895931786245055, (33, 0) = 1.3895931786245055, (33, 1) = .9209233700331131, (33, 2) = 1.6414255181271569, (34, 0) = 1.6414255181271569, (34, 1) = 1.4392683275066989, (34, 2) = .8748784230151254, (35, 0) = .8748784230151254, (35, 1) = 1.646939265151252, (35, 2) = 1.4889434763888922, (36, 0) = 1.4889434763888922, (36, 1) = .8291788145340493, (36, 2) = 1.6553957182885823, (37, 0) = 1.6553957182885823, (37, 1) = 1.5386186252710854, (37, 2) = .7839766015575426, (38, 0) = .7839766015575426, (38, 1) = 1.667077404650224, (38, 2) = 1.5687462276863915, (39, 0) = 1.5687462276863915, (39, 1) = .7568735457220451, (39, 2) = 1.67586213435023, (40, 0) = 1.67586213435023, (40, 1) = 1.5988738301016974, (40, 2) = .7300540461536099, (41, 0) = .7300540461536099, (41, 1) = 1.6860182095468146, (41, 2) = 1.6290014325170035, (42, 0) = 1.6290014325170035, (42, 1) = .7035599816612077, (42, 2) = 1.697620293665825, (43, 0) = 1.697620293665825, (43, 1) = 1.6591290349323096, (43, 2) = .6774351893350706, (44, 0) = .6774351893350706, (44, 1) = 1.7107443248264431, (44, 2) = 1.6892566373476157, (45, 0) = 1.6892566373476157, (45, 1) = .6517254613446625, (45, 2) = 1.7254668242982154, (46, 0) = 1.7254668242982154, (46, 1) = 1.7193842397629218, (46, 2) = .6264787480696691, (47, 0) = .6264787480696691, (47, 1) = 1.7418650301879928, (47, 2) = 1.7495118421782276, (48, 0) = 1.7495118421782276, (48, 1) = .6017446545171511, (48, 2) = 1.7600130123373363, (49, 0) = 1.7600130123373363, (49, 1) = 1.7796394445935337, (49, 2) = .5775742015482379, (50, 0) = .5775742015482379, (50, 1) = 1.7799796411830302, (50, 2) = 1.8061947635665625, (51, 0) = 1.8061947635665625, (51, 1) = .5567786183444859, (51, 2) = 1.7991366433344658, (52, 0) = 1.7991366433344658, (52, 1) = 1.832750082539591, (52, 2) = .5364978626253581, (53, 0) = .5364978626253581, (53, 1) = 1.8197927195419688, (53, 2) = 1.8593054015126196, (54, 0) = 1.8593054015126196, (54, 1) = .5167682561523157, (54, 2) = 1.8419764809526942, (55, 0) = 1.8419764809526942, (55, 1) = 1.8858607204856483, (55, 2) = .49762581223390895, (56, 0) = .49762581223390895, (56, 1) = 1.8657055776358582, (56, 2) = 1.9097149107830291, (57, 0) = 1.9097149107830291, (57, 1) = .4809602717718633, (57, 2) = 1.8883435286863, (58, 0) = 1.8883435286863, (58, 1) = 1.93356910108041, (58, 2) = .4648218596764317, (59, 0) = .4648218596764317, (59, 1) = 1.9122277759833848, (59, 2) = 1.9574232913777907, (60, 0) = 1.9574232913777907, (60, 1) = .4492340389199136, (60, 2) = 1.9373409026689865, (61, 0) = 1.9373409026689865, (61, 1) = 1.9812774816751715, (61, 2) = .4342187292534649, (62, 0) = .4342187292534649, (62, 1) = 1.9636521189398293, (62, 2) = 2.004263852787264, (63, 0) = 2.004263852787264, (63, 1) = .4203101092586252, (63, 2) = 1.990098117377601, (64, 0) = 1.990098117377601, (64, 1) = 2.027250223899356, (64, 2) = .4069674582769166, (65, 0) = .4069674582769166, (65, 1) = 2.0175622542309486, (65, 2) = 2.050236595011448, (66, 0) = 2.050236595011448, (66, 1) = .3942039633751688, (66, 2) = 2.0459772536535046, (67, 0) = 2.0459772536535046, (67, 1) = 2.07322296612354, (67, 2) = .38203013565972604, (68, 0) = .38203013565972604, (68, 1) = 2.075261255402451, (68, 2) = 2.098058121270015, (69, 0) = 2.098058121270015, (69, 1) = .3695485759576045, (69, 2) = 2.107766300909261, (70, 0) = 2.107766300909261, (70, 1) = 2.1228932764164896, (70, 2) = .3577689175737098, (71, 0) = .3577689175737098, (71, 1) = 2.141033682628699, (71, 2) = 2.1477284315629643, (72, 0) = 2.1477284315629643, (72, 1) = .3466910657927155, (72, 2) = 2.174907057374285, (73, 0) = 2.174907057374285, (73, 1) = 2.1725635867094395, (73, 2) = .33631017357287435, (74, 0) = .33631017357287435, (74, 1) = 2.20921581927419, (74, 2) = 2.196849383761043, (75, 0) = 2.196849383761043, (75, 1) = .3268235884660522, (75, 2) = 2.2430115231100825, (76, 0) = 2.2430115231100825, (76, 1) = 2.221135180812647, (76, 2) = .3179799207626713, (77, 0) = .3179799207626713, (77, 1) = 2.276869570385799, (77, 2) = 2.2454209778642507, (78, 0) = 2.2454209778642507, (78, 1) = .309760915843174, (78, 2) = 2.3106091885511706, (79, 0) = 2.3106091885511706, (79, 1) = 2.2697067749158544, (79, 2) = .3021447460238304, (80, 0) = .3021447460238304, (80, 1) = 2.3440521970551167, (80, 2) = 2.2915527181738296, (81, 0) = 2.2915527181738296, (81, 1) = .2957879507637747, (81, 2) = 2.373738294552842, (82, 0) = 2.373738294552842, (82, 1) = 2.3133986614318047, (82, 2) = .28987791521959144, (83, 0) = .28987791521959144, (83, 1) = 2.402922916310279, (83, 2) = 2.3352446046897803, (84, 0) = 2.3352446046897803, (84, 1) = .28439275840127815, (84, 2) = 2.4314945706700617, (85, 0) = 2.4314945706700617, (85, 1) = 2.3570905479477555, (85, 2) = .27930964339102904}, datatype = float[8], order = C_order)), ( 15 ) = ("rkf45"), ( 14 ) = ([0, 0]), ( 19 ) = (0), ( 16 ) = ([0, 0, 0, 0, 0, 0, []]), ( 17 ) = ([proc (N, X, Y, YP) option `[Y[1] = r(t), Y[2] = varphi(t)]`; YP[1] := -1-cos(Y[2]); YP[2] := -1+sin(Y[2])/Y[1]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 22 ) = (0), ( 23 ) = (0), ( 20 ) = ([]), ( 21 ) = (0), ( 27 ) = (""), ( 26 ) = (Array(1..0, {})), ( 25 ) = (Array(1..0, {})), ( 24 ) = (0), ( 28 ) = (0)  ] )), ( 4 ) = (3)  ] ); _y0 := Array(0..2, {(1) = 0., (2) = 2.0}); _vmap := array( 1 .. 2, [( 1 ) = (1), ( 2 ) = (2)  ] ); _x0 := _dtbl[1][5][5]; _n := _dtbl[1][4][1]; _ne := _dtbl[1][4][3]; _nd := _dtbl[1][4][4]; _nv := _dtbl[1][4][16]; if not type(_xout, 'numeric') then if member(_xout, ["start", "left", "right"]) then if _Env_smart_dsolve_numeric = true or _dtbl[1][4][10] = 1 then if _xout = "left" then if type(_dtbl[2], 'table') then return _dtbl[2][5][1] end if elif _xout = "right" then if type(_dtbl[3], 'table') then return _dtbl[3][5][1] end if end if end if; return _dtbl[1][5][5] elif _xout = "method" then return _dtbl[1][15] elif _xout = "storage" then return evalb(_dtbl[1][4][10] = 1) elif _xout = "leftdata" then if not type(_dtbl[2], 'array') then return NULL else return eval(_dtbl[2]) end if elif _xout = "rightdata" then if not type(_dtbl[3], 'array') then return NULL else return eval(_dtbl[3]) end if elif _xout = "enginedata" then return eval(_dtbl[1]) elif _xout = "enginereset" then _dtbl[2] := evaln(_dtbl[2]); _dtbl[3] := evaln(_dtbl[3]); return NULL elif _xout = "initial" then return procname(_y0[0]) elif _xout = "laxtol" then return _dtbl[`if`(member(_dtbl[4], {2, 3}), _dtbl[4], 1)][5][18] elif _xout = "numfun" then return `if`(member(_dtbl[4], {2, 3}), _dtbl[_dtbl[4]][4][18], 0) elif _xout = "parameters" then return [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] elif _xout = "initial_and_parameters" then return procname(_y0[0]), [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] elif _xout = "last" then if _dtbl[4] <> 2 and _dtbl[4] <> 3 or _x0-_dtbl[_dtbl[4]][5][1] = 0. then error "no information is available on last computed point" else _xout := _dtbl[_dtbl[4]][5][1] end if elif _xout = "function" then if _dtbl[1][4][33]-2. = 0 then return eval(_dtbl[1][10], 1) else return eval(_dtbl[1][10][1], 1) end if elif _xout = "map" then return copy(_vmap) elif type(_xin, `=`) and type(rhs(_xin), 'list') and member(lhs(_xin), {"initial", "parameters", "initial_and_parameters"}) then _ini, _par := [], []; if lhs(_xin) = "initial" then _ini := rhs(_xin) elif lhs(_xin) = "parameters" then _par := rhs(_xin) elif select(type, rhs(_xin), `=`) <> [] then _par, _ini := selectremove(type, rhs(_xin), `=`) elif nops(rhs(_xin)) < nops(_pars)+1 then error "insufficient data for specification of initial and parameters" else _par := rhs(_xin)[-nops(_pars) .. -1]; _ini := rhs(_xin)[1 .. -nops(_pars)-1] end if; _xout := lhs(_xout); _i := false; if _par <> [] then _i := `dsolve/numeric/process_parameters`(_n, _pars, _par, _y0) end if; if _ini <> [] then _i := `dsolve/numeric/process_initial`(_n-_ne, _ini, _y0, _pars, _vmap) or _i end if; if _i then `dsolve/numeric/SC/reinitialize`(_dtbl, _y0, _n, procname, _pars); if _Env_smart_dsolve_numeric = true and type(_y0[0], 'numeric') and _dtbl[1][4][10] <> 1 then procname("right") := _y0[0]; procname("left") := _y0[0] end if end if; if _xout = "initial" then return [_y0[0], seq(_y0[_vmap[_i]], _i = 1 .. _n-_ne)] elif _xout = "parameters" then return [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] else return [_y0[0], seq(_y0[_vmap[_i]], _i = 1 .. _n-_ne)], [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] end if elif _xin = "eventstop" then if _nv = 0 then error "this solution has no events" end if; _i := _dtbl[4]; if _i <> 2 and _i <> 3 then return 0 end if; if _dtbl[_i][4][10] = 1 and assigned(_dtbl[5-_i]) and _dtbl[_i][4][9] < 100 and 100 <= _dtbl[5-_i][4][9] then _i := 5-_i; _dtbl[4] := _i; _j := round(_dtbl[_i][4][17]); return round(_dtbl[_i][3][1][_j, 1]) elif 100 <= _dtbl[_i][4][9] then _j := round(_dtbl[_i][4][17]); return round(_dtbl[_i][3][1][_j, 1]) else return 0 end if elif _xin = "eventstatus" then if _nv = 0 then error "this solution has no events" end if; _i := [selectremove(proc (a) options operator, arrow; _dtbl[1][3][1][a, 7] = 1 end proc, {seq(_j, _j = 1 .. round(_dtbl[1][3][1][_nv+1, 1]))})]; return ':-enabled' = _i[1], ':-disabled' = _i[2] elif _xin = "eventclear" then if _nv = 0 then error "this solution has no events" end if; _i := _dtbl[4]; if _i <> 2 and _i <> 3 then error "no events to clear" end if; if _dtbl[_i][4][10] = 1 and assigned(_dtbl[5-_i]) and _dtbl[_i][4][9] < 100 and 100 < _dtbl[5-_i][4][9] then _dtbl[4] := 5-_i; _i := 5-_i end if; if _dtbl[_i][4][9] < 100 then error "no events to clear" elif _nv < _dtbl[_i][4][9]-100 then error "event error condition cannot be cleared" else _j := _dtbl[_i][4][9]-100; if irem(round(_dtbl[_i][3][1][_j, 4]), 2) = 1 then error "retriggerable events cannot be cleared" end if; _j := round(_dtbl[_i][3][1][_j, 1]); for _k to _nv do if _dtbl[_i][3][1][_k, 1] = _j then if _dtbl[_i][3][1][_k, 2] = 3 then error "range events cannot be cleared" end if; _dtbl[_i][3][1][_k, 8] := _dtbl[_i][3][1][_nv+1, 8] end if end do; _dtbl[_i][4][17] := 0; _dtbl[_i][4][9] := 0; if _dtbl[1][4][10] = 1 then if _i = 2 then try procname(procname("left")) catch:  end try else try procname(procname("right")) catch:  end try end if end if end if; return  elif type(_xin, `=`) and member(lhs(_xin), {"eventdisable", "eventenable"}) then if _nv = 0 then error "this solution has no events" end if; if type(rhs(_xin), {('list')('posint'), ('set')('posint')}) then _i := {op(rhs(_xin))} elif type(rhs(_xin), 'posint') then _i := {rhs(_xin)} else error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; if select(proc (a) options operator, arrow; _nv < a end proc, _i) <> {} then error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; _k := {}; for _j to _nv do if member(round(_dtbl[1][3][1][_j, 1]), _i) then _k := `union`(_k, {_j}) end if end do; _i := _k; if lhs(_xin) = "eventdisable" then _dtbl[4] := 0; _j := [evalb(assigned(_dtbl[2]) and member(_dtbl[2][4][17], _i)), evalb(assigned(_dtbl[3]) and member(_dtbl[3][4][17], _i))]; for _k in _i do _dtbl[1][3][1][_k, 7] := 0; if assigned(_dtbl[2]) then _dtbl[2][3][1][_k, 7] := 0 end if; if assigned(_dtbl[3]) then _dtbl[3][3][1][_k, 7] := 0 end if end do; if _j[1] then for _k to _nv+1 do if _k <= _nv and not type(_dtbl[2][3][4][_k, 1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to defined init `, _dtbl[2][3][4][_k, 1]); _dtbl[2][3][1][_k, 8] := _dtbl[2][3][4][_k, 1] elif _dtbl[2][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[2][3][1][_k, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to rate hysteresis init `, _dtbl[2][5][24]); _dtbl[2][3][1][_k, 8] := _dtbl[2][5][24] elif _dtbl[2][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[2][3][1][_k, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to initial init `, _x0); _dtbl[2][3][1][_k, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to fireinitial init `, _x0-1); _dtbl[2][3][1][_k, 8] := _x0-1 end if end do; _dtbl[2][4][17] := 0; _dtbl[2][4][9] := 0; if _dtbl[1][4][10] = 1 then procname(procname("left")) end if end if; if _j[2] then for _k to _nv+1 do if _k <= _nv and not type(_dtbl[3][3][4][_k, 2], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to defined init `, _dtbl[3][3][4][_k, 2]); _dtbl[3][3][1][_k, 8] := _dtbl[3][3][4][_k, 2] elif _dtbl[3][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[3][3][1][_k, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to rate hysteresis init `, _dtbl[3][5][24]); _dtbl[3][3][1][_k, 8] := _dtbl[3][5][24] elif _dtbl[3][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[3][3][1][_k, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to initial init `, _x0); _dtbl[3][3][1][_k, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to fireinitial init `, _x0+1); _dtbl[3][3][1][_k, 8] := _x0+1 end if end do; _dtbl[3][4][17] := 0; _dtbl[3][4][9] := 0; if _dtbl[1][4][10] = 1 then procname(procname("right")) end if end if else for _k in _i do _dtbl[1][3][1][_k, 7] := 1 end do; _dtbl[2] := evaln(_dtbl[2]); _dtbl[3] := evaln(_dtbl[3]); _dtbl[4] := 0; if _dtbl[1][4][10] = 1 then if _x0 <= procname("right") then try procname(procname("right")) catch:  end try end if; if procname("left") <= _x0 then try procname(procname("left")) catch:  end try end if end if end if; return  elif type(_xin, `=`) and lhs(_xin) = "eventfired" then if not type(rhs(_xin), 'list') then error "'eventfired' must be specified as a list" end if; if _nv = 0 then error "this solution has no events" end if; if _dtbl[4] <> 2 and _dtbl[4] <> 3 then error "'direction' must be set prior to calling/setting 'eventfired'" end if; _i := _dtbl[4]; _val := NULL; if not assigned(_EnvEventRetriggerWarned) then _EnvEventRetriggerWarned := false end if; for _k in rhs(_xin) do if type(_k, 'integer') then _src := _k elif type(_k, 'integer' = 'anything') and type(evalf(rhs(_k)), 'numeric') then _k := lhs(_k) = evalf[max(Digits, 18)](rhs(_k)); _src := lhs(_k) else error "'eventfired' entry is not valid: %1", _k end if; if _src < 1 or round(_dtbl[1][3][1][_nv+1, 1]) < _src then error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; _src := {seq(`if`(_dtbl[1][3][1][_j, 1]-_src = 0., _j, NULL), _j = 1 .. _nv)}; if nops(_src) <> 1 then error "'eventfired' can only be set/queried for root-finding events and time/interval events" end if; _src := _src[1]; if _dtbl[1][3][1][_src, 2] <> 0. and _dtbl[1][3][1][_src, 2]-2. <> 0. then error "'eventfired' can only be set/queried for root-finding events and time/interval events" elif irem(round(_dtbl[1][3][1][_src, 4]), 2) = 1 then if _EnvEventRetriggerWarned = false then WARNING(`'eventfired' has no effect on events that retrigger`) end if; _EnvEventRetriggerWarned := true end if; if _dtbl[_i][3][1][_src, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_src, 4]), 32), 2) = 1 then _val := _val, undefined elif type(_dtbl[_i][3][4][_src, _i-1], 'undefined') or _i = 2 and _dtbl[2][3][1][_src, 8] < _dtbl[2][3][4][_src, 1] or _i = 3 and _dtbl[3][3][4][_src, 2] < _dtbl[3][3][1][_src, 8] then _val := _val, _dtbl[_i][3][1][_src, 8] else _val := _val, _dtbl[_i][3][4][_src, _i-1] end if; if type(_k, `=`) then if _dtbl[_i][3][1][_src, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_src, 4]), 32), 2) = 1 then error "cannot set event code for a rate hysteresis event" end if; userinfo(3, {'events', 'eventreset'}, `manual set event code `, _src, ` to value `, rhs(_k)); _dtbl[_i][3][1][_src, 8] := rhs(_k); _dtbl[_i][3][4][_src, _i-1] := rhs(_k) end if end do; return [_val] elif type(_xin, `=`) and lhs(_xin) = "direction" then if not member(rhs(_xin), {-1, 1, ':-left', ':-right'}) then error "'direction' must be specified as either '1' or 'right' (positive) or '-1' or 'left' (negative)" end if; _src := `if`(_dtbl[4] = 2, -1, `if`(_dtbl[4] = 3, 1, undefined)); _i := `if`(member(rhs(_xin), {1, ':-right'}), 3, 2); _dtbl[4] := _i; _dtbl[_i] := `dsolve/numeric/SC/IVPdcopy`(_dtbl[1], `if`(assigned(_dtbl[_i]), _dtbl[_i], NULL)); if 0 < _nv then for _j to _nv+1 do if _j <= _nv and not type(_dtbl[_i][3][4][_j, _i-1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to defined init `, _dtbl[_i][3][4][_j, _i-1]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][3][4][_j, _i-1] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to rate hysteresis init `, _dtbl[_i][5][24]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][5][24] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to initial init `, _x0); _dtbl[_i][3][1][_j, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to fireinitial init `, _x0-2*_i+5.0); _dtbl[_i][3][1][_j, 8] := _x0-2*_i+5.0 end if end do end if; return _src elif _xin = "eventcount" then if _dtbl[1][3][1] = 0 or _dtbl[4] <> 2 and _dtbl[4] <> 3 then return 0 else return round(_dtbl[_dtbl[4]][3][1][_nv+1, 12]) end if elif type(_xin, `=`) and lhs(_xin) = "setdatacallback" then if not type(rhs(_xin), 'nonegint') then error "data callback must be a nonnegative integer (address)" end if; _dtbl[1][28] := rhs(_xin) else return "procname" end if end if; if _xout = _x0 then return [_x0, seq(evalf(_dtbl[1][6][_vmap[_i]]), _i = 1 .. _n-_ne)] end if; _i := `if`(_x0 <= _xout, 3, 2); if _xin = "last" and 0 < _dtbl[_i][4][9] and _dtbl[_i][4][9] < 100 then _dat := eval(_dtbl[_i], 2); _j := _dat[4][20]; return [_dat[11][_j, 0], seq(_dat[11][_j, _vmap[_i]], _i = 1 .. _n-_ne-_nd), seq(_dat[8][1][_vmap[_i]], _i = _n-_ne-_nd+1 .. _n-_ne)] end if; if not type(_dtbl[_i], 'array') then _dtbl[_i] := `dsolve/numeric/SC/IVPdcopy`(_dtbl[1], `if`(assigned(_dtbl[_i]), _dtbl[_i], NULL)); if 0 < _nv then for _j to _nv+1 do if _j <= _nv and not type(_dtbl[_i][3][4][_j, _i-1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to defined init `, _dtbl[_i][3][4][_j, _i-1]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][3][4][_j, _i-1] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to rate hysteresis init `, _dtbl[_i][5][24]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][5][24] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to initial init `, _x0); _dtbl[_i][3][1][_j, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to fireinitial init `, _x0-2*_i+5.0); _dtbl[_i][3][1][_j, 8] := _x0-2*_i+5.0 end if end do end if end if; if _xin <> "last" then if 0 < 0 then if `dsolve/numeric/checkglobals`(op(_dtbl[1][14]), _pars, _n, _y0) then `dsolve/numeric/SC/reinitialize`(_dtbl, _y0, _n, procname, _pars, _i) end if end if; if _dtbl[1][4][7] = 0 then error "parameters must be initialized before solution can be computed" end if end if; _dat := eval(_dtbl[_i], 2); _dtbl[4] := _i; try _src := `dsolve/numeric/SC/IVPrun`(_dat, _xout) catch: userinfo(2, `dsolve/debug`, print(`Exception in solnproc:`, [lastexception][2 .. -1])); error  end try; if _dat[17] <> _dtbl[1][17] then _dtbl[1][17] := _dat[17]; _dtbl[1][10] := _dat[10] end if; if _src = 0 and 100 < _dat[4][9] then _val := _dat[3][1][_nv+1, 8] else _val := _dat[11][_dat[4][20], 0] end if; if _src <> 0 or _dat[4][9] <= 0 then _dtbl[1][5][1] := _xout else _dtbl[1][5][1] := _val end if; if _i = 3 and _val < _xout then Rounding := -infinity; if _dat[4][9] = 1 then error "cannot evaluate the solution further right of %1, probably a singularity", evalf[8](_val) elif _dat[4][9] = 2 then error "cannot evaluate the solution further right of %1, maxfun limit exceeded (see <a href='http://www.maplesoft.com/support/help/search.aspx?term=dsolve,maxfun' target='_new'>?dsolve,maxfun</a> for details)", evalf[8](_val) elif _dat[4][9] = 3 then if _dat[4][25] = 3 then error "cannot evaluate the solution past the initial point, problem may be initially singular or improperly set up" else error "cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up" end if elif _dat[4][9] = 4 then error "cannot evaluate the solution further right of %1, accuracy goal cannot be achieved with specified 'minstep'", evalf[8](_val) elif _dat[4][9] = 5 then error "cannot evaluate the solution further right of %1, too many step failures, tolerances may be too loose for problem", evalf[8](_val) elif _dat[4][9] = 6 then error "cannot evaluate the solution further right of %1, cannot downgrade delay storage for problems with delay derivative order > 1, try increasing delaypts", evalf[8](_val) elif _dat[4][9] = 10 then error "cannot evaluate the solution further right of %1, interrupt requested", evalf[8](_val) elif 100 < _dat[4][9] then if _dat[4][9]-100 = _nv+1 then error "constraint projection failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+2 then error "index-1 and derivative evaluation failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+3 then error "maximum number of event iterations reached (%1) at t=%2", round(_dat[3][1][_nv+1, 3]), evalf[8](_val) else if _Env_dsolve_nowarnstop <> true then `dsolve/numeric/warning`(StringTools:-FormatMessage("cannot evaluate the solution further right of %1, event #%2 triggered a halt", evalf[8](_val), round(_dat[3][1][_dat[4][9]-100, 1]))) end if; Rounding := 'nearest'; _xout := _val end if else error "cannot evaluate the solution further right of %1", evalf[8](_val) end if elif _i = 2 and _xout < _val then Rounding := infinity; if _dat[4][9] = 1 then error "cannot evaluate the solution further left of %1, probably a singularity", evalf[8](_val) elif _dat[4][9] = 2 then error "cannot evaluate the solution further left of %1, maxfun limit exceeded (see <a href='http://www.maplesoft.com/support/help/search.aspx?term=dsolve,maxfun' target='_new'>?dsolve,maxfun</a> for details)", evalf[8](_val) elif _dat[4][9] = 3 then if _dat[4][25] = 3 then error "cannot evaluate the solution past the initial point, problem may be initially singular or improperly set up" else error "cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up" end if elif _dat[4][9] = 4 then error "cannot evaluate the solution further left of %1, accuracy goal cannot be achieved with specified 'minstep'", evalf[8](_val) elif _dat[4][9] = 5 then error "cannot evaluate the solution further left of %1, too many step failures, tolerances may be too loose for problem", evalf[8](_val) elif _dat[4][9] = 6 then error "cannot evaluate the solution further left of %1, cannot downgrade delay storage for problems with delay derivative order > 1, try increasing delaypts", evalf[8](_val) elif _dat[4][9] = 10 then error "cannot evaluate the solution further right of %1, interrupt requested", evalf[8](_val) elif 100 < _dat[4][9] then if _dat[4][9]-100 = _nv+1 then error "constraint projection failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+2 then error "index-1 and derivative evaluation failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+3 then error "maximum number of event iterations reached (%1) at t=%2", round(_dat[3][1][_nv+1, 3]), evalf[8](_val) else if _Env_dsolve_nowarnstop <> true then `dsolve/numeric/warning`(StringTools:-FormatMessage("cannot evaluate the solution further left of %1, event #%2 triggered a halt", evalf[8](_val), round(_dat[3][1][_dat[4][9]-100, 1]))) end if; Rounding := 'nearest'; _xout := _val end if else error "cannot evaluate the solution further left of %1", evalf[8](_val) end if end if; if _EnvInFsolve = true then _dig := _dat[4][26]; if type(_EnvDSNumericSaveDigits, 'posint') then _dat[4][26] := _EnvDSNumericSaveDigits else _dat[4][26] := Digits end if; _Env_dsolve_SC_native := true; if _dat[4][25] = 1 then _i := 1; _dat[4][25] := 2 else _i := _dat[4][25] end if; _val := `dsolve/numeric/SC/IVPval`(_dat, _xout, _src); _dat[4][25] := _i; _dat[4][26] := _dig; [_xout, seq(_val[_vmap[_i]], _i = 1 .. _n-_ne)] else Digits := _dat[4][26]; _val := `dsolve/numeric/SC/IVPval`(eval(_dat, 2), _xout, _src); [_xout, seq(_val[_vmap[_i]], _i = 1 .. _n-_ne)] end if end proc, (2) = Array(0..0, {}), (3) = [t, r(t), varphi(t)], (4) = []}); _vars := _dat[3]; _pars := map(lhs, _dat[4]); _n := nops(_vars)-1; _solnproc := _dat[1]; if not type(_xout, 'numeric') then if member(x_rkf45, ["start", 'start', "method", 'method', "left", 'left', "right", 'right', "leftdata", "rightdata", "enginedata", "eventstop", 'eventstop', "eventclear", 'eventclear', "eventstatus", 'eventstatus', "eventcount", 'eventcount', "laxtol", 'laxtol', "numfun", 'numfun', NULL]) then _res := _solnproc(convert(x_rkf45, 'string')); if 1 < nops([_res]) then return _res elif type(_res, 'array') then return eval(_res, 1) elif _res <> "procname" then return _res end if elif member(x_rkf45, ["last", 'last', "initial", 'initial', "parameters", 'parameters', "initial_and_parameters", 'initial_and_parameters', NULL]) then _xout := convert(x_rkf45, 'string'); _res := _solnproc(_xout); if _xout = "parameters" then return [seq(_pars[_i] = _res[_i], _i = 1 .. nops(_pars))] elif _xout = "initial_and_parameters" then return [seq(_vars[_i+1] = [_res][1][_i+1], _i = 0 .. _n), seq(_pars[_i] = [_res][2][_i], _i = 1 .. nops(_pars))] else return [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] end if elif type(_xout, `=`) and member(lhs(_xout), ["initial", 'initial', "parameters", 'parameters', "initial_and_parameters", 'initial_and_parameters', NULL]) then _xout := convert(lhs(x_rkf45), 'string') = rhs(x_rkf45); if type(rhs(_xout), 'list') then _res := _solnproc(_xout) else error "initial and/or parameter values must be specified in a list" end if; if lhs(_xout) = "initial" then return [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] elif lhs(_xout) = "parameters" then return [seq(_pars[_i] = _res[_i], _i = 1 .. nops(_pars))] else return [seq(_vars[_i+1] = [_res][1][_i+1], _i = 0 .. _n), seq(_pars[_i] = [_res][2][_i], _i = 1 .. nops(_pars))] end if elif type(_xout, `=`) and member(lhs(_xout), ["eventdisable", 'eventdisable', "eventenable", 'eventenable', "eventfired", 'eventfired', "direction", 'direction', NULL]) then return _solnproc(convert(lhs(x_rkf45), 'string') = rhs(x_rkf45)) elif _xout = "solnprocedure" then return eval(_solnproc) elif _xout = "sysvars" then return _vars end if; if procname <> unknown then return ('procname')(x_rkf45) else _ndsol := 1; _ndsol := _ndsol; _ndsol := pointto(_dat[2][0]); return ('_ndsol')(x_rkf45) end if end if; try _res := _solnproc(_xout); [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] catch: error  end try end proc

(3)

plots[odeplot](soln, [r(t), `&varphi;`(t)])

 

Download test.mw

Maple documents appear to be an excellent way of documenting problems and procedures, and notetaking in general, but I have always found them laborious and frequently encountered problems with formatting. One may as well use Tex. This is the reason that I was struck by the ability of the GenerateDocument() procedure in the NaturalLanguage package to create Maple documents.

Is there any practical way to use NaturalLanguage for notetaking and documentation of procedures. By this I mean, the ability to input math and or explanatory text and request(direct) the AI to produce a maple document.

dear sir here i am giving python code exicuting 3d plots but i cant plot animations like

restart;
Nc := .3; M := 1.5; QG := 1.5; Thetaa := .2; n1 := 1; n2 := 0; lambda1 := .1; lambda2 := .1; lambda3 := .1;

p := 2; a := .5; alpha1 := (1/2)*Pi;

p1 := 0.1e-1; p2 := 0.1e-1;
rf := 997.1; kf := .613; cpf := 4179; betaf := 21*10^(-5);

betas1 := .85*10^(-5); rs1 := 3970; ks1 := 40; cps1 := 765;
betas2 := 1.67*10^(-5); rs2 := 8933; ks2 := 401; cps2 := 385;

z1 := 1/((1-p1)^2.5*(1-p2)^2.5);
knf := kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1)); khnf := knf*(ks2+2*knf-2*p2*(knf-ks2))/(ks2+2*knf+p2*(knf-ks2));
z2 := 1-p1-p2+p1*rs1/rf+p2*rs2/rf;
z3 := 1-p1-p2+p1*rs1*cps1/(rf*cpf)+p2*rs2*cps2/(rf*cpf);
z4 := khnf/kf;
z5 := 1-p1-p2+p1*rs1*betas1/(rf*betaf)+p2*rs2*betas2/(rf*betaf);
OdeSys := z4*(X*(diff(Theta(X, tau), X, X))+diff(Theta(X, tau), X))/z3-(diff(Theta(X, tau), tau))-Nc*(Theta(X, tau)-Thetaa)^2*z5/z1-M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n1*z2/z3)/(z3*(1-Thetaa)^p)-Nr*(Theta(X, tau)^4-Thetaa^4)/z3+QG*X*(1+lambda1*(Theta(X, tau)-Thetaa)+lambda2*(Theta(X, tau)-Thetaa)^2+lambda3*(Theta(X, tau)-Thetaa)^3)/z3; Cond := {Theta(0, tau) = 1+a*sin(alpha1), Theta(X, 0) = 0, (D[1](Theta))(1, tau) = 0};
OdeSys1 := z4*(X*(diff(Theta(X, tau), X, X))+diff(Theta(X, tau), X))/z3-(diff(Theta(X, tau), tau))-Nc*(Theta(X, tau)-Thetaa)^2*z5/z1-M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n2*z2/z3)/(z3*(1-Thetaa)^p)-Nr*(Theta(X, tau)^4-Thetaa^4)/z3+QG*X*(1+lambda1*(Theta(X, tau)-Thetaa)+lambda2*(Theta(X, tau)-Thetaa)^2+lambda3*(Theta(X, tau)-Thetaa)^3)/z3; Cond1 := {Theta(0, tau) = 1+a*sin(alpha1), Theta(X, 0) = 0, (D[1](Theta))(1, tau) = 0};
OdeSysa := z4*(X*(diff(Theta(X, tau), X, X))+diff(Theta(X, tau), X))/z3-(diff(Theta(X, tau), tau))-Nc*(Theta(X, tau)-Thetaa)^2*z5/z1-M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n1*z2/z3)/(z3*(1-Thetaa)^p)-Nr*(Theta(X, tau)^4-Thetaa^4)/z3+QG*X*(1+lambda1*(Theta(X, tau)-Thetaa)+lambda2*(Theta(X, tau)-Thetaa)^2+lambda3*(Theta(X, tau)-Thetaa)^3)/z3; Conda := {Theta(0, tau) = 1+a*cos(alpha1), Theta(X, 0) = 0, (D[1](Theta))(1, tau) = 0};
OdeSysa1 := z4*(X*(diff(Theta(X, tau), X, X))+diff(Theta(X, tau), X))/z3-(diff(Theta(X, tau), tau))-Nc*(Theta(X, tau)-Thetaa)^2*z5/z1-M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n2*z2/z3)/(z3*(1-Thetaa)^p)-Nr*(Theta(X, tau)^4-Thetaa^4)/z3+QG*X*(1+lambda1*(Theta(X, tau)-Thetaa)+lambda2*(Theta(X, tau)-Thetaa)^2+lambda3*(Theta(X, tau)-Thetaa)^3)/z3; Conda1 := {Theta(0, tau) = 1+a*cos(alpha1), Theta(X, 0) = 0, (D[1](Theta))(1, tau) = 0};

colour := [cyan, black];
colour1 := [red, blue];
NrVals := [2.5, 3.5];
for j to numelems(NrVals) do Ans := pdsolve((eval([OdeSys, Cond], Nr = NrVals[j]))[], numeric, spacestep = 1/200, timestep = 1/100); Plots[j] := Ans:-plot(Theta(X, tau), tau = .8, linestyle = "solid", labels = ["Y", Theta(Y, tau)], color = colour[j], 'axes' = 'boxed'); eta[j] := Ans:-plot((int(z3*z5*Nc*(Theta(X, tau)-Thetaa)^2/(z1*z4)+NrVals[j]*(Theta(X, tau)^4-Thetaa^4)/z4+M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n1*z2/z3)/(z4*(1-Thetaa)^p), X = 0 .. 1))/(z3*z5*Nc*(1-Thetaa)^2/(z1*z4)+NrVals[j]*(-Thetaa^4+1)/z4+M^2*(1-Thetaa)*(1+n1*z2/z3)/z4), tau = 0 .. 2, X = .8, linestyle = "solid", 'axes' = 'boxed', labels = [" &tau; ", " &eta; "], color = colour[j]); Ans1 := pdsolve((eval([OdeSys1, Cond1], Nr = NrVals[j]))[], numeric, spacestep = 1/200, timestep = 1/100); Plots1[j] := Ans1:-plot(Theta(X, tau), tau = .8, linestyle = "dash", labels = ["Y", Theta(Y, tau)], color = colour[j], 'axes' = 'boxed'); eta1[j] := Ans1:-plot((int(z3*z5*Nc*(Theta(X, tau)-Thetaa)^2/(z1*z4)+NrVals[j]*(Theta(X, tau)^4-Thetaa^4)/z4+M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n2*z2/z3)/(z4*(1-Thetaa)^p), X = 0 .. 1))/(z3*z5*Nc*(1-Thetaa)^2/(z1*z4)+NrVals[j]*(-Thetaa^4+1)/z4+M^2*(1-Thetaa)*(1+n2*z2/z3)/z4), tau = 0 .. 2, X = .8, linestyle = "dash", 'axes' = 'boxed', labels = [" &tau; ", " &eta; "], color = colour[j]); Ansa := pdsolve((eval([OdeSysa, Conda], Nr = NrVals[j]))[], numeric, spacestep = 1/200, timestep = 1/100); Plotsa[j] := Ansa:-plot(Theta(X, tau), tau = .8, linestyle = "solid", labels = ["Y", Theta(Y, tau)], color = colour1[j], 'axes' = 'boxed'); etaa[j] := Ansa:-plot((int(z3*z5*Nc*(Theta(X, tau)-Thetaa)^2/(z1*z4)+NrVals[j]*(Theta(X, tau)^4-Thetaa^4)/z4+M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n1*z2/z3)/(z4*(1-Thetaa)^p), X = 0 .. 1))/(z3*z5*Nc*(1-Thetaa)^2/(z1*z4)+NrVals[j]*(-Thetaa^4+1)/z4+M^2*(1-Thetaa)*(1+n1*z2/z3)/z4), tau = 0 .. 2, X = .8, linestyle = "solid", 'axes' = 'boxed', labels = [" &tau; ", " &eta; "], color = colour1[j]); Ansa1 := pdsolve((eval([OdeSysa1, Conda1], Nr = NrVals[j]))[], numeric, spacestep = 1/200, timestep = 1/100); Plotsa1[j] := Ansa1:-plot(Theta(X, tau), tau = .8, linestyle = "dash", labels = ["Y", Theta(Y, tau)], color = colour1[j], 'axes' = 'boxed'); etaa1[j] := Ansa1:-plot((int(z3*z5*Nc*(Theta(X, tau)-Thetaa)^2/(z1*z4)+NrVals[j]*(Theta(X, tau)^4-Thetaa^4)/z4+M^2*(Theta(X, tau)-Thetaa)^(p+1)*(1+n2*z2/z3)/(z4*(1-Thetaa)^p), X = 0 .. 1))/(z3*z5*Nc*(1-Thetaa)^2/(z1*z4)+NrVals[j]*(-Thetaa^4+1)/z4+M^2*(1-Thetaa)*(1+n2*z2/z3)/z4), tau = 0 .. 2, X = .8, linestyle = "dash", 'axes' = 'boxed', labels = [" &tau; ", " &eta; "], color = colour1[j]) end do;
plotA := plots:-display([seq(Plots[j], j = 1 .. 2)]);
plotB := plots:-display([seq(Plots1[j], j = 1 .. 2)]);
plotAA := plots:-display([seq(Plotsa[j], j = 1 .. 2)]);
plotBB := plots:-display([seq(Plotsa1[j], j = 1 .. 2)]);
plotC := plots:-display([seq(eta[j], j = 1 .. 2)]);
plotD := plots:-display([seq(eta1[j], j = 1 .. 2)]);
plotCC := plots:-display([seq(etaa[j], j = 1 .. 2)]);

plotDD := plots:-display([seq(etaa1[j], j = 1 .. 2)]);
plots:-display([plotA, plotB, plotAA, plotBB], size = [700, 700]);

plots:-display([plotC, plotD, plotCC, plotDD], size = [700, 700]);

how to take animation of the plots

 

i have seen some plots in maple also for that reason i have posted this question here

paper2_new_efficiency_plots_2025.mw

Hi,
I want to solve equations (1) and (2) to obtain the values of certain quantities, for example x and f. In fact, both equations must be satisfied simultaneously for \tau and f. Since there are other parameters in these equations (for example \tau, M, etc.), and I do not know the optimal values of these parameters, I would like to solve equations (1) and (2) over given ranges for tau, M, and so on. I know that I should use loop commands, but I keep encountering errors. Please guide me.
fsolve.mw

In this kind of contour plot i have two line but when i change time variable t just contour of one line wil move the other is not do any movement and is stop how i can  make the second plot one second line move too? also there is any way for ploting this kind any other option?

line-2-done.mw

Hello everyone

I have the following probability distribution, where x ranges from zero to infinity:

with(Statistics):

X := RandomVariable(Distribution(PDF = unapply(piecewise(And(0 < x, x < infinity), exp(-6)*6^x/x!), x)))

How do I tell Maple that this distribution is discrete?

Regards,

Oliveira

I have a function that calculates a volume in mm^3, but for the purposes of plotting, I would like to plot the values as m^3.

How do I specify that the units to be plotted are m^3, have Flow convert the values to m^3, from mm^3 and show that the units for the axis are m^3?

I have tried using the useunits[m,m^3] function, but the graph does not change the value of the units, and it does not display the units of the result on the graph axis.

Also, is there a good quick reference for all of the options available for the plot command?  The user manual has very little, and the tutorial file only gives limited examples also.

I am trying to integrate a function in Maple Flow, that uses units.

When I use units of metres, the integration works.  If I mix the units, or I use millimetres throughout the equation, it does not work.

I have attached the sample worksheet, which shows the problem.

CrossSectionalDeepDive.flow.zip

The following problem is old and quite challenging. I found it in a publication from 1959. I have the source and my own solution. I was able to solve it quite laboriously a few years ago using MC14 – but not recently with Maple. Therefore, I'm interested in instructive Maple solutions, just as previous puzzle solutions here have helped me further in using this software. I thank you for that.

A wolf observes a goat. It is grazing in a meadow, tied to a rope. Naturally, he wants to catch the goat and considers whether his starting position is favorable. He estimates that he and the goat will be moving at the same speed at the beginning of the hunt and throughout the pursuit, and that the goat will constantly hold the rope taut to maintain its distance for escape reasons. Now, as he approaches the goat at a constant top speed, the same speed as the goat is fleeing in a circular arc, he asks himself: Where do I need to start from to guarantee success? Are there starting positions that rule out a successful hunt? What happens if I manage to sneak into the grazed area first?

i did for two of them base on the information but one of them is not make my odetest to be zero? where is problem

test.mw

I have already plotted the Nusselt number as a line graph. Now, I would like to plot it as a bar graph instead of line graphs. Specifically, I want to create grouped bar charts that combine several parameters (such as Gr, Rb, N[t], N[r], M, Sc) in a single figure. Each group should correspond to one parameter, with bars representing distinct values (e.g., 0.1, 0.4, 0.6, 0.8). For reference, I have attached a sample figure from another work. Could anyone please help in this regard?

Group_bar_graphs_help.mw

How do I enter a number as an actual percentage?  I know that I can enter a number as a fraction, and then redisplay the number formatted as a percentage, but I would like to be able to type in that a variable is 10%, not have to type in that it is 0.1, then convert it to percent.  I would like Maple Flow to figure out what it is, because I typed in, in effect, it's units.

In the plane, the concentric circles k1 and k2 are given with center M. Circle k1 is the unit circle (radius = 1), and k2 has twice the area of ​​k1. From the outside, five congruent circles k3 are placed tangent to k1, each with a radius r yet to be calculated. Prove that the circles k3 can be arranged such that any two adjacent circles k3 and k2 can have a common intersection point, and these intersection points form the vertices of a regular pentagon. The radius r is to be calculated exactly (no approximation) as a term.

Suppose I have a metric g, and I want to perform a conformal transformation g = exp(2Phi(X))*g, is there a straightforward way to do this for curvature quantitieies (Christoffel, Ricci Scalar etc)? I was able to do it rather easily for the Christoffel symbols, as seen below, but it required me making a substitution for each index pair. While this isn't horrible, it would be nice if there was a way to do it without this procedure.

** Edited to make it Phi(X) 

restart;

with(Physics):CompactDisplay(Phi(X)):

Phi(X)*`will now be displayed as`*Phi

(1)

Setup(metric=arbitrary):

_______________________________________________________

 

`Systems of spacetime coordinates are:`*{X = (x1, x2, x3, x4)}

 

`Default differentiation variables for d_, D_ and dAlembertian are:`*{X = (x1, x2, x3, x4)}

 

`The arbitrary metric in coordinates `*[x1, x2, x3, x4]

 

`Signature: `(`- - - +`)

 

_______________________________________________________

 

Physics:-g_[mu, nu] = Matrix(%id = 36893488152300428092)

(2)

Christoffel[~alpha,beta,nu,definition]

Physics:-Christoffel[`~alpha`, beta, nu] = (1/2)*Physics:-g_[`~alpha`, `~mu`]*(Physics:-d_[nu](Physics:-g_[mu, beta], [X])+Physics:-d_[beta](Physics:-g_[mu, nu], [X])-Physics:-d_[mu](Physics:-g_[beta, nu], [X]))

(3)

Simplify(eval((3),[g_[mu,beta]=exp(2*Phi(X))*g_[mu,beta],g_[mu,nu]=exp(2*Phi(X))*g_[mu,nu],g_[beta,nu]=exp(2*Phi(X))*g_[beta,nu]]))

Physics:-Christoffel[`~alpha`, beta, nu] = exp(2*Phi(X))*(Physics:-d_[nu](Phi(X), [X])*Physics:-g_[beta, `~alpha`]+Physics:-d_[beta](Phi(X), [X])*Physics:-g_[nu, `~alpha`]-Physics:-d_[`~alpha`](Phi(X), [X])*Physics:-g_[beta, nu]+Physics:-Christoffel[`~alpha`, beta, nu])

(4)

expand((4))

Physics:-Christoffel[`~alpha`, beta, nu] = (exp(Phi(X)))^2*Physics:-d_[nu](Phi(X), [X])*Physics:-g_[beta, `~alpha`]+(exp(Phi(X)))^2*Physics:-d_[beta](Phi(X), [X])*Physics:-g_[nu, `~alpha`]-(exp(Phi(X)))^2*Physics:-d_[`~alpha`](Phi(X), [X])*Physics:-g_[beta, nu]+(exp(Phi(X)))^2*Physics:-Christoffel[`~alpha`, beta, nu]

(5)
 

 

Any thoughts appreciated, thank you!

MyConformal.mw

1 2 3 4 5 6 7 Last Page 1 of 2430