Kitonum

21555 Reputation

26 Badges

17 years, 136 days

MaplePrimes Activity


These are replies submitted by Kitonum

@one man  There are infinitely many such ellipses, and their family also depends on two parameters. The simple animation below is made for ellipses with one axis parallel to one of the sides of the triangle:


 

restart;
Sol:=solve({x0^2/a^2+y0^2/b^2=1,(2-x0)^2/a^2+(3-y0)^2/b^2=1,(6-x0)^2/a^2+y0^2/b^2=1}, explicit);
sol:=simplify(Sol[1]);

{a = (1/3)*6^(1/2)*((15+(64*b^2+81)^(1/2))/(4*b^2-9))^(1/2)*b, b = b, x0 = 3, y0 = ((3/2)*(15+(64*b^2+81)^(1/2))/(4*b^2-9)-2)*(4*b^2-9)/(15+(64*b^2+81)^(1/2))}, {a = -(1/3)*6^(1/2)*((15+(64*b^2+81)^(1/2))/(4*b^2-9))^(1/2)*b, b = b, x0 = 3, y0 = ((3/2)*(15+(64*b^2+81)^(1/2))/(4*b^2-9)-2)*(4*b^2-9)/(15+(64*b^2+81)^(1/2))}, {a = (1/3)*(-6*(-15+(64*b^2+81)^(1/2))/(4*b^2-9))^(1/2)*b, b = b, x0 = 3, y0 = -(-(3/2)*(-15+(64*b^2+81)^(1/2))/(4*b^2-9)-2)*(4*b^2-9)/(-15+(64*b^2+81)^(1/2))}, {a = -(1/3)*(-6*(-15+(64*b^2+81)^(1/2))/(4*b^2-9))^(1/2)*b, b = b, x0 = 3, y0 = -(-(3/2)*(-15+(64*b^2+81)^(1/2))/(4*b^2-9)-2)*(4*b^2-9)/(-15+(64*b^2+81)^(1/2))}

 

{a = (1/3)*6^(1/2)*((15+(64*b^2+81)^(1/2))/(4*b^2-9))^(1/2)*b, b = b, x0 = 3, y0 = (-16*b^2+3*(64*b^2+81)^(1/2)+81)/(30+2*(64*b^2+81)^(1/2))}

(1)

plots:-animate(plots:-implicitplot,[eval((x-3)^2/a^2+(y-y0)^2/b^2=1,sol), x=-10..15,y=-10..10, color=red], b=1.55..4, frames=60, background=plots:-display(plottools:-polygon([[0,0],[6,0],[2,3]],color="LightBlue", thickness=2)), scaling=constrained, size=[900,500], axes=none);

 

 


 

Download ells.mw

@Liiiiz 

restart; with(plots): 
A := inequal({am2 < 0.34+3.6*dt}, dt = 0 .. 0.1, am2 = 0 .. 0.7, color = "SkyBlue", numpoints = 8000): 
B := textplot([seq(seq([x, y, "+"], y = 0.03 .. 0.33+3.6*x, 0.03), x = 0.004 .. 0.096, 0.0046)], font = [times, bold, 14]): 
display(A, B);

                

@nm  This is not strange and is the usual way in different situations, for example

restart;
solve(sin(x)=1/2, allsolutions);

                         

@vv  Great idea!  Vote up.

@anthonyfl  I have been working with Maple for about 18 years.

@vv  Thanks for the helpful comment. As you saw, I wrote  "... sometimes ...". Undoubtedly, for examples with  floor , your method is better.

@mehran rajabi  Maple cannot cope with the symbolic solution of this system, but it can be solved numerically:


 

restart;
eq := diff(F1(zeta), zeta, zeta)-b^2*F1(zeta)+2*exp(-b*zeta)*G1(zeta)+(exp(2*b*zeta)-2*exp(b*zeta)+1)*exp(-2*b*zeta)*(exp(b*zeta)*exp(-2*b*zeta)/(3*b)-(2*(exp(b*zeta)-1))*exp(-2*b*zeta)/(3*b))/(3*b^3)-(exp(b*zeta)-1)^2*(exp(-2*b*zeta))^2/(9*b^4)+(1/3)*(exp(b*zeta)-1)*exp(-2*b*zeta) = 0, diff(G1(zeta), zeta, zeta)-b^2*G1(zeta)-(exp(2*b*zeta)-2*exp(b*zeta)+1)*exp(-2*b*zeta)*exp(-b*zeta)/(3*b^2)-(2*(exp(b*zeta)-1))*exp(-2*b*zeta)*exp(-b*zeta)/(3*b^2)+b^2*exp(-b*zeta) = 0, 2*F1(zeta)+diff(H1(zeta), zeta) = 0;
ics := F1(0) = 0, G1(0) = 0, H1(0) = 0, F1(10) = 0, G1(10) = 0;

diff(diff(F1(zeta), zeta), zeta)-b^2*F1(zeta)+2*exp(-b*zeta)*G1(zeta)+(1/3)*(exp(2*b*zeta)-2*exp(b*zeta)+1)*exp(-2*b*zeta)*((1/3)*exp(b*zeta)*exp(-2*b*zeta)/b-(2/3)*(exp(b*zeta)-1)*exp(-2*b*zeta)/b)/b^3-(1/9)*(exp(b*zeta)-1)^2*(exp(-2*b*zeta))^2/b^4+(1/3)*(exp(b*zeta)-1)*exp(-2*b*zeta) = 0, diff(diff(G1(zeta), zeta), zeta)-b^2*G1(zeta)-(1/3)*(exp(2*b*zeta)-2*exp(b*zeta)+1)*exp(-2*b*zeta)*exp(-b*zeta)/b^2-(2/3)*(exp(b*zeta)-1)*exp(-2*b*zeta)*exp(-b*zeta)/b^2+b^2*exp(-b*zeta) = 0, 2*F1(zeta)+diff(H1(zeta), zeta) = 0

 

F1(0) = 0, G1(0) = 0, H1(0) = 0, F1(10) = 0, G1(10) = 0

(1)

sol:=dsolve({eval(eq,b=1),ics}, {F1(zeta),G1(zeta),H1(zeta)}, numeric);

proc (x_bvp) local res, data, solnproc, _ndsol, outpoint, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](x_bvp) else outpoint := evalf(x_bvp) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(23, {(1) = .0, (2) = .44928358946598074, (3) = .8992280016236485, (4) = 1.3498361609654799, (5) = 1.8012662223501124, (6) = 2.2538176451082137, (7) = 2.7075058473204168, (8) = 3.1622104441879415, (9) = 3.617523715379814, (10) = 4.073416898400966, (11) = 4.529828534320989, (12) = 4.986426542395182, (13) = 5.443162925516589, (14) = 5.90002876052367, (15) = 6.3569429608286505, (16) = 6.813886254976485, (17) = 7.270857655114633, (18) = 7.727839396874414, (19) = 8.184824918712069, (20) = 8.641783164869185, (21) = 9.097073709220012, (22) = 9.549798354479439, (23) = 10.0}, datatype = float[8], order = C_order); Y := Matrix(23, 5, {(1, 1) = .0, (1, 2) = .1351851752492863, (1, 3) = .0, (1, 4) = .41666665836616046, (1, 5) = .0, (2, 1) = 0.5115494468017586e-1, (2, 2) = 0.8113419738163506e-1, (2, 3) = .11132234411959376, (2, 4) = .12302251075777063, (2, 5) = -0.24914671295543627e-1, (3, 1) = 0.7233554601458965e-1, (3, 2) = 0.17357015828046368e-1, (3, 3) = .13610713779065636, (3, 4) = 0.5134157483476928e-2, (3, 5) = -0.8264444410819323e-1, (4, 1) = 0.7135659319136944e-1, (4, 2) = -0.1696184290536502e-1, (4, 3) = .12674020370180883, (4, 4) = -0.38860099645228664e-1, (4, 5) = -.14854879844833171, (5, 1) = 0.6041349462457967e-1, (5, 2) = -0.28755621998151695e-1, (5, 3) = .10581472844225323, (5, 4) = -0.50409952802245465e-1, (5, 5) = -.20842786708768668, (6, 1) = 0.4709409559748275e-1, (6, 2) = -0.28879081547784926e-1, (6, 3) = 0.8320842921389804e-1, (6, 4) = -0.4811289459656999e-1, (6, 5) = -.25708080263529137, (7, 1) = 0.3492083729507625e-1, (7, 2) = -0.24403957661635056e-1, (7, 3) = 0.6296637788667604e-1, (7, 4) = -0.40707532483008464e-1, (7, 5) = -.2941345144098128, (8, 1) = 0.25070003281839223e-1, (8, 2) = -0.1893111003883e-1, (8, 3) = 0.4638147698328233e-1, (8, 4) = -0.32264795733010464e-1, (8, 5) = -.3212232294743046, (9, 1) = 0.17611571909885645e-1, (9, 2) = -0.13977250930407952e-1, (9, 3) = 0.33493374348802465e-1, (9, 4) = -0.24542586233020944e-1, (9, 5) = -.3404853250515704, (10, 1) = 0.12184701255497917e-1, (10, 2) = -0.10002753559946396e-1, (10, 3) = 0.23817195842104507e-1, (10, 4) = -0.18144557058951072e-1, (10, 5) = -.35393158488637366, (11, 1) = 0.8337091720945352e-2, (11, 2) = -0.70108099469820655e-2, (11, 3) = 0.16729570595585577e-1, (11, 4) = -0.13136581521343518e-1, (11, 5) = -.36319419500666317, (12, 1) = 0.5658426549190852e-2, (12, 2) = -0.4843973820379962e-2, (12, 3) = 0.11636029945898978e-1, (12, 4) = -0.9361364480710756e-2, (12, 5) = -.369509342937797, (13, 1) = 0.3816482825940519e-2, (13, 2) = -0.3312650434613768e-2, (13, 3) = 0.8027270170587932e-2, (13, 4) = -0.6588553177501801e-2, (13, 5) = -.3737837363058767, (14, 1) = 0.25611722459435832e-2, (14, 2) = -0.22483099413305057e-2, (14, 3) = 0.5499046102432881e-2, (14, 4) = -0.4591001213267668e-2, (14, 5) = -.37666052051945037, (15, 1) = 0.17114348068358774e-2, (15, 2) = -0.15174667598063293e-2, (15, 3) = 0.3743981941592335e-2, (15, 4) = -0.3173781454315336e-2, (15, 5) = -.37858736316938824, (16, 1) = 0.11389945207849871e-2, (16, 2) = -0.10202477258979441e-2, (16, 3) = 0.25342610892095207e-2, (16, 4) = -0.21807885842735457e-2, (16, 5) = -.37987258609442215, (17, 1) = 0.7545084866810752e-3, (17, 2) = -0.6846799203792152e-3, (17, 3) = 0.17046420673436833e-2, (17, 4) = -0.1492807199890507e-2, (17, 5) = -.3807262127850646, (18, 1) = 0.4963920372649282e-3, (18, 2) = -0.46017779695480676e-3, (18, 3) = 0.11369868841425213e-2, (18, 4) = -0.10217803121256395e-2, (18, 5) = -.38129005756286605, (19, 1) = 0.3223713762156566e-3, (19, 2) = -0.3118738646949354e-3, (19, 3) = 0.74746077956267e-3, (19, 4) = -0.7044025597402917e-3, (19, 5) = -.3816590721701828, (20, 1) = 0.20336866967754657e-3, (20, 2) = -0.21626740918513138e-3, (20, 3) = 0.4765918146673492e-3, (20, 4) = -0.4965285098485759e-3, (20, 5) = -.38189599488365217, (21, 1) = 0.11931969219112595e-3, (21, 2) = -0.15820939128644842e-3, (21, 3) = 0.2821548893513022e-3, (21, 4) = -0.36905288775930067e-3, (21, 5) = -.3820409112174494, (22, 1) = 0.554102699130244e-4, (22, 2) = -0.12824646354115483e-3, (22, 3) = 0.13198487000106905e-3, (22, 4) = -0.3036077757130274e-3, (22, 5) = -.3821189946686551, (23, 1) = .0, (23, 2) = -0.1216257983196006e-3, (23, 3) = .0, (23, 4) = -0.2913162149422897e-3, (23, 5) = -.3821437169151561}, datatype = float[8], order = C_order); YP := Matrix(23, 5, {(1, 1) = .1351851752492863, (1, 2) = .0, (1, 3) = .41666665836616046, (1, 4) = -1.0, (1, 5) = -.0, (2, 1) = 0.8113419738163506e-1, (2, 2) = -.1645279189060742, (2, 3) = .12302251075777063, (2, 4) = -.40066707748254227, (2, 5) = -.10230988936035172, (3, 1) = 0.17357015828046368e-1, (3, 2) = -.10943416036596883, (3, 3) = 0.5134157483476928e-2, (3, 4) = -.15760241049089635, (3, 5) = -.1446710920291793, (4, 1) = -0.1696184290536502e-1, (4, 2) = -0.46676744936817796e-1, (4, 3) = -0.38860099645228664e-1, (4, 4) = -0.5192526821103144e-1, (4, 5) = -.1427131863827389, (5, 1) = -0.28755621998151695e-1, (5, 2) = -0.9793671716924128e-2, (5, 3) = -0.50409952802245465e-1, (5, 4) = -0.5744900746345538e-2, (5, 5) = -.12082698924915934, (6, 1) = -0.28879081547784926e-1, (6, 2) = 0.6660263410530297e-2, (6, 3) = -0.4811289459656999e-1, (6, 4) = 0.12824170631730872e-1, (6, 5) = -0.941881911949655e-1, (7, 1) = -0.24403957661635056e-1, (7, 2) = 0.11794594639625879e-1, (7, 3) = -0.40707532483008464e-1, (7, 4) = 0.18398806500833406e-1, (7, 5) = -0.698416745901525e-1, (8, 1) = -0.1893111003883e-1, (8, 2) = 0.11760959952295542e-1, (8, 3) = -0.32264795733010464e-1, (8, 4) = 0.1813481396479044e-1, (8, 5) = -0.50140006563678445e-1, (9, 1) = -0.13977250930407952e-1, (9, 2) = 0.9852970906926514e-2, (9, 3) = -0.24542586233020944e-1, (9, 4) = 0.15587535951612403e-1, (9, 5) = -0.3522314381977129e-1, (10, 1) = -0.10002753559946396e-1, (10, 2) = 0.7593608620784867e-2, (10, 3) = -0.18144557058951072e-1, (10, 4) = 0.1246946171648126e-1, (10, 5) = -0.24369402510995834e-1, (11, 1) = -0.70108099469820655e-2, (11, 2) = 0.5580617459638005e-2, (11, 3) = -0.13136581521343518e-1, (11, 4) = 0.9540802895153576e-2, (11, 5) = -0.16674183441890703e-1, (12, 1) = -0.4843973820379962e-2, (12, 2) = 0.39817997532887684e-2, (12, 3) = -0.9361364480710756e-2, (12, 4) = 0.7082571907025149e-2, (12, 5) = -0.11316853098381704e-1, (13, 1) = -0.3312650434613768e-2, (13, 2) = 0.2785777036021733e-2, (13, 3) = -0.6588553177501801e-2, (13, 4) = 0.5143390194185994e-2, (13, 5) = -0.7632965651881038e-2, (14, 1) = -0.22483099413305057e-2, (14, 2) = 0.19223032845477558e-2, (14, 3) = -0.4591001213267668e-2, (14, 4) = 0.36727952288941592e-2, (14, 5) = -0.51223444918871664e-2, (15, 1) = -0.15174667598063293e-2, (15, 2) = 0.13129671199059636e-2, (15, 3) = -0.3173781454315336e-2, (15, 4) = 0.2587539173186767e-2, (15, 5) = -0.34228696136717547e-2, (16, 1) = -0.10202477258979441e-2, (16, 2) = 0.8893352015347192e-3, (16, 3) = -0.21807885842735457e-2, (16, 4) = 0.18019834005339398e-2, (16, 5) = -0.22779890415699743e-2, (17, 1) = -0.6846799203792152e-3, (17, 2) = 0.5975784507371285e-3, (17, 3) = -0.1492807199890507e-2, (17, 4) = 0.12409651380636609e-2, (17, 5) = -0.15090169733621504e-2, (18, 1) = -0.46017779695480676e-3, (18, 2) = 0.3975251515277088e-3, (18, 3) = -0.10217803121256395e-2, (18, 4) = 0.8433904504169269e-3, (18, 5) = -0.9927840745298565e-3, (19, 1) = -0.3118738646949354e-3, (19, 2) = 0.2599871319744332e-3, (19, 3) = -0.7044025597402917e-3, (19, 4) = 0.5615586091124345e-3, (19, 5) = -0.6447427524313132e-3, (20, 1) = -0.21626740918513138e-3, (20, 2) = 0.1639621962441588e-3, (20, 3) = -0.4965285098485759e-3, (20, 4) = 0.3588773029741943e-3, (20, 5) = -0.40673733935509313e-3, (21, 1) = -0.15820939128644842e-3, (21, 2) = 0.94369148619604e-4, (21, 3) = -0.36905288775930067e-3, (21, 4) = 0.20749285308993136e-3, (21, 5) = -0.2386393843822519e-3, (22, 1) = -0.12824646354115483e-3, (22, 2) = 0.3956577750191933e-4, (22, 3) = -0.3036077757130274e-3, (22, 4) = 0.8450778859380169e-4, (22, 5) = -0.1108205398260488e-3, (23, 1) = -0.1216257983196006e-3, (23, 2) = -0.10088873249360564e-4, (23, 3) = -0.2913162149422897e-3, (23, 4) = -0.3026661987284866e-4, (23, 5) = -.0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(23, {(1) = .0, (2) = .44928358946598074, (3) = .8992280016236485, (4) = 1.3498361609654799, (5) = 1.8012662223501124, (6) = 2.2538176451082137, (7) = 2.7075058473204168, (8) = 3.1622104441879415, (9) = 3.617523715379814, (10) = 4.073416898400966, (11) = 4.529828534320989, (12) = 4.986426542395182, (13) = 5.443162925516589, (14) = 5.90002876052367, (15) = 6.3569429608286505, (16) = 6.813886254976485, (17) = 7.270857655114633, (18) = 7.727839396874414, (19) = 8.184824918712069, (20) = 8.641783164869185, (21) = 9.097073709220012, (22) = 9.549798354479439, (23) = 10.0}, datatype = float[8], order = C_order); Y := Matrix(23, 5, {(1, 1) = .0, (1, 2) = -0.5060266839403578e-8, (1, 3) = .0, (1, 4) = -0.5595449761709814e-8, (1, 5) = .0, (2, 1) = -0.4414648603101034e-8, (2, 2) = 0.5237230439637039e-8, (2, 3) = 0.24227823406843136e-8, (2, 4) = -0.3896659498317099e-8, (2, 5) = -0.1830740038095415e-7, (3, 1) = -0.13533808568033192e-8, (3, 2) = 0.20141702480360933e-8, (3, 3) = 0.20179978179724083e-8, (3, 4) = -0.24069379272293536e-8, (3, 5) = -0.14219658207266639e-7, (4, 1) = 0.337331282284249e-9, (4, 2) = -0.68892695799165e-10, (4, 3) = 0.1305133772877301e-8, (4, 4) = -0.1408689414357604e-8, (4, 5) = -0.11353788189169731e-7, (5, 1) = 0.7780950890751212e-9, (5, 2) = -0.6880292639584532e-9, (5, 3) = 0.7758259856104964e-9, (5, 4) = -0.8039695713767156e-9, (5, 5) = -0.10606964433064684e-7, (6, 1) = 0.7062321448788342e-9, (6, 2) = -0.679287934336782e-9, (6, 3) = 0.448310657957495e-9, (6, 4) = -0.45626590029080564e-9, (6, 5) = -0.10778608065549263e-7, (7, 1) = 0.511133376662903e-9, (7, 2) = -0.5038713184705324e-9, (7, 3) = 0.2601727951753781e-9, (7, 4) = -0.2626161291261405e-9, (7, 5) = -0.11168877664051357e-7, (8, 1) = 0.33464351734378353e-9, (8, 2) = -0.3329048397765606e-9, (8, 3) = 0.15569285919298006e-9, (8, 4) = -0.15656106356462702e-9, (8, 5) = -0.11517201941357773e-7, (9, 1) = 0.20863327364243254e-9, (9, 2) = -0.20826607659080967e-9, (9, 3) = 0.9808757002461656e-10, (9, 4) = -0.9846207919438929e-10, (9, 5) = -0.1176552236640131e-7, (10, 1) = 0.12745430400741654e-9, (10, 2) = -0.12737686541825966e-9, (10, 3) = 0.6557519233836531e-10, (10, 4) = -0.6576689298206469e-10, (10, 5) = -0.11925736660809614e-7, (11, 1) = 0.7773030931510619e-10, (11, 2) = -0.7770210481776407e-10, (11, 3) = 0.4623142673833509e-10, (11, 4) = -0.4634130844562985e-10, (11, 5) = -0.12024113981320469e-7, (12, 1) = 0.4793880506691524e-10, (12, 2) = -0.47920081606321304e-10, (12, 3) = 0.3384161881495305e-10, (12, 4) = -0.339098382448478e-10, (12, 5) = -0.12083213151157077e-7, (13, 1) = 0.3010887618409992e-10, (13, 2) = -0.30097400538997424e-10, (13, 3) = 0.25259653273266184e-10, (13, 4) = -0.25306573823900935e-10, (13, 5) = -0.12118669606512674e-7, (14, 1) = 0.19296189453237174e-10, (14, 2) = -0.1929364196429287e-10, (14, 3) = 0.18944755023838608e-10, (14, 4) = -0.1898405470589748e-10, (14, 5) = -0.12140212012100835e-7, (15, 1) = 0.12593525445588906e-10, (15, 2) = -0.12601937695329738e-10, (15, 3) = 0.14135516940578834e-10, (15, 4) = -0.14179273959243492e-10, (15, 5) = -0.12153577902399673e-7, (16, 1) = 0.8329285428099472e-11, (16, 2) = -0.8352481787026178e-11, (16, 3) = 0.10426765405818495e-10, (16, 4) = -0.10488513341902094e-10, (16, 5) = -0.12162075013745392e-7, (17, 1) = 0.5546883414937215e-11, (17, 2) = -0.55922347729653605e-11, (17, 3) = 0.7570774463024126e-11, (17, 4) = -0.7668286628881844e-11, (17, 5) = -0.12167597772930108e-7, (18, 1) = 0.3690750561552212e-11, (18, 2) = -0.3771039349477756e-11, (18, 3) = 0.5388426387445673e-11, (18, 4) = -0.5547066209268148e-11, (18, 5) = -0.12171242390376102e-7, (19, 1) = 0.2427709366136143e-11, (19, 2) = -0.2563746778570831e-11, (19, 3) = 0.373310185312118e-11, (19, 4) = -0.3990516528592753e-11, (19, 5) = -0.12173658534101514e-7, (20, 1) = 0.15486146251726389e-11, (20, 2) = -0.17734116930070722e-11, (20, 3) = 0.24772238266996045e-11, (20, 4) = -0.2890670417236702e-11, (20, 5) = -0.12175239757029905e-7, (21, 1) = 0.9154864023028152e-12, (21, 2) = -0.12804994267799692e-11, (21, 3) = 0.15081801558644428e-11, (21, 4) = -0.2165620235996891e-11, (21, 5) = -0.12176226070623022e-7, (22, 1) = 0.4268778197861308e-12, (22, 2) = -0.10125184044592964e-11, (22, 3) = 0.7188473624212691e-12, (22, 4) = -0.17584063374567492e-11, (22, 5) = -0.12176762317804481e-7, (23, 1) = .0, (23, 2) = -0.9338425049396765e-12, (23, 3) = .0, (23, 4) = -0.16457719352978926e-11, (23, 5) = -0.12176919844781482e-7}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[23] elif outpoint = "order" then return 8 elif outpoint = "error" then return HFloat(1.830740038095415e-8) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [5, 23, [F1(zeta), diff(F1(zeta), zeta), G1(zeta), diff(G1(zeta), zeta), H1(zeta)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[23] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[23] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(5, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(23, 5, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(5, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(23, 5, X, Y, outpoint, yout, L, V) end if; [zeta = outpoint, seq('[F1(zeta), diff(F1(zeta), zeta), G1(zeta), diff(G1(zeta), zeta), H1(zeta)]'[i] = yout[i], i = 1 .. 5)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[23] elif outpoint = "order" then return 8 elif outpoint = "error" then return HFloat(1.830740038095415e-8) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [5, 23, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[23] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[23] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(5, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(23, 5, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(5, {(1) = 0., (2) = 0., (3) = 0., (4) = 0., (5) = 0.}); `dsolve/numeric/hermite`(23, 5, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 5)] end proc, (2) = Array(0..0, {}), (3) = [zeta, F1(zeta), diff(F1(zeta), zeta), G1(zeta), diff(G1(zeta), zeta), H1(zeta)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(x_bvp) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(x_bvp) else _ndsol := pointto(data[2][0]); return ('_ndsol')(x_bvp) end if end if; try res := solnproc(outpoint); [zeta = res[1], seq('[F1(zeta), diff(F1(zeta), zeta), G1(zeta), diff(G1(zeta), zeta), H1(zeta)]'[i] = res[i+1], i = 1 .. 5)] catch: error  end try end proc

(2)

plots:-odeplot(sol,[[zeta,F1(zeta)],[zeta,G1(zeta)],[zeta,H1(zeta)]], zeta=0..10, color=[red,blue,green], size=[500,500]);

 

 


 

Download numeric.mw

@mehran rajabi  Add the line

sol:=simplify(sol) assuming b>0;

Try the option  explicit  in the last line:

T:=solve({f1,f2,f3}, [x,y1,y2], explicit);

 

@spinoza  I did not understand the meaning of your question.

@Carl Love  Your plot  does not prove anything, because it is built on a finite set of points, and the break point is somewhere between them. Here is another plot  on a very small interval, inside which there is a break point (the zero of the denominator):

Digits:=20:
fsolve(denom(x(t)));
plot(x(t), t=-0.00077376199177721..-0.00077376199177719, -5000..5000);

      

 

@666 jvbasha 


 

restart;
ContoursWithLabels := proc (Expr, Range1::(range(realcons)), Range2::(range(realcons)), Number::posint := 8, S::(set(realcons)) := {}, GraphicOptions::list := [color = black, axes = box], Coloring::`=` := NULL)
local r1, r2, L, f, L1, h, S1, P, P1, r, M, C, T, p, p1, m, n, A, B, E;
uses plots, plottools;
f := unapply(Expr, x, y);
if S = {} then r1 := rand(convert(Range1, float)); r2 := rand(convert(Range2, float));
L := [seq([r1(), r2()], i = 1 .. 205)];
L1 := convert(sort(select(a->type(a, realcons), [seq(f(op(t)), t = L)]), (a, b) ->is(abs(a) < abs(b))), set);
h := (L1[-6]-L1[1])/Number;
S1 := [seq(L1[1]+(1/2)*h+h*(n-1), n = 1 .. Number)] else
S1 := convert(S, list)  fi;
print(Contours = evalf[2](S1));
r := k->rand(20 .. k-20); M := []; T := [];
for C in S1 do
P := implicitplot(Expr = C, x = Range1, y = Range2, op(GraphicOptions), gridrefine = 3);
P1 := [getdata(P)];
for p in P1 do
p1 := convert(p[3], listlist); n := nops(p1);
if n < 500 then m := `if`(40 < n, (r(n))(), round((1/2)*n)); M := `if`(40 < n, [op(M), p1[1 .. m-11], p1[m+11 .. n]], [op(M), p1]); T := [op(T), [op(p1[m]), evalf[2](C)]] else
if 500 <= n then h := floor((1/2)*n); m := (r(h))(); M := [op(M), p1[1 .. m-11], p1[m+11 .. m+h-11], p1[m+h+11 .. n]]; T := [op(T), [op(p1[m]), evalf[2](C)], [op(p1[m+h]), evalf[2](C)]]
fi; fi; od; od;
A := plot(M, op(GraphicOptions));
B := plots:-textplot(T);
if Coloring = NULL then E := NULL else E := ([plots:-densityplot])(Expr, x = Range1, y = Range2, op(GraphicOptions), op(rhs(Coloring)))  fi;
display(E, A, B);
end proc:

# Your new example

A3 := .25*y*(-6*x^2+6*x-2.477250468*x*(x-1)^2-2.477250468*x^2*(x-1)-1.476663599*x*(x-1)^3-2.214995399*x^2*(x-1)^2+.3837076420*x*(x-1)^4+.7674152840*x^2*(x-1)^3+1.049305257*x*(x-1)^5+2.623263142*x^2*(x-1)^4+1.470504325*x*(x-1)^6+4.411512974*x^2*(x-1)^5+2.062933702*x*(x-1)^7+7.220267957*x^2*(x-1)^6+1.610136961*x*(x-1)^8+6.440547843*x^2*(x-1)^7+.6577852166*x*(x-1)^9+2.960033475*x^2*(x-1)^8);




ContoursWithLabels(A3, 0 .. 1, 0 .. 10, {seq(0.1..5,0.2)}, [color = black, thickness = 2, axes = box, size=[450,450], labels = ["eta", "r"],labeldirections = [horizontal, vertical], labelfont = ['TIMES', 'BOLDOBLIQUE', 16]], Coloring = [colorstyle = HUE,style = surface]);

.25*y*(-6*x^2+6*x-2.477250468*x*(x-1)^2-2.477250468*x^2*(x-1)-1.476663599*x*(x-1)^3-2.214995399*x^2*(x-1)^2+.3837076420*x*(x-1)^4+.7674152840*x^2*(x-1)^3+1.049305257*x*(x-1)^5+2.623263142*x^2*(x-1)^4+1.470504325*x*(x-1)^6+4.411512974*x^2*(x-1)^5+2.062933702*x*(x-1)^7+7.220267957*x^2*(x-1)^6+1.610136961*x*(x-1)^8+6.440547843*x^2*(x-1)^7+.6577852166*x*(x-1)^9+2.960033475*x^2*(x-1)^8)

 

Contours = [.1, .3, .5, .7, .9, 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7, 2.9, 3.1, 3.3, 3.5, 3.7, 3.9, 4.1, 4.3, 4.5, 4.7, 4.9]

 

 

 


 

Download ContoursWithLabels11.mw

@radaar  For example, when you define a procedure using  arrow-notation:

x:=10: t:=20:
f:=x->x^2:
g:=t->t^2:
f(3); g(3);

f  and  g  are  the same function.

The solution to similar and much more complex examples is automated in this post
https://www.mapleprimes.com/posts/145922-Perimeter-Area-And-Visualization-Of-A-Plane-Figure-

First 20 21 22 23 24 25 26 Last Page 22 of 133