Kitonum

21845 Reputation

26 Badges

17 years, 235 days

MaplePrimes Activity


These are replies submitted by Kitonum

@sunit  You are not required to apply the command to every equation. Build a system and apply the command to this system as in the example:

convert({1.0*x+0.3*y=1,2*x-1.0*y=3}, rational);

                              

@nguyenhuyenag 

This is also written in the help.

Solution for your example:

restart;
bl:=sqrt(2)-1>0:
evalb(evalf(bl));

                               true

@Carl Love  Thanks. The  seq  is my favorite command in Maple. Owners of older versions of Maple (< Maple 13 or 14) , who do not know about  zip ,  can simply write this:

A:=[1,2,3]:
B:=[7,8,9]:
[seq(f(A[i],B[i]),i=1..nops(A))];


The  seq  command can completely replace map, zip, and ~  (which of course make the code a little shorter).

Here's another animation in which the ellipse of a given shape (defined by the parameter  k ) rotates around a given triangle:


 

restart;
Eq:=(x-x0)^2/a^2+(y-y0)^2/b^2=1:
b:=k*a: k:=2/3:
Eq1:=subs([x=x*cos(alpha)+y*sin(alpha),y=-x*sin(alpha)+y*cos(alpha)],Eq);
T:=[[0,0],[2,3],[6,0]]:
R:=[seq([x,y]=~t,t=T)];
Sys:=map(p->eval(Eq1,p),R);
Sol:=solve(Sys,{a,x0,y0}, explicit)[1];
eval(Sol,alpha=Pi/4);
F:=t->plots:-implicitplot(eval(Eq1,[eval(Sol,alpha=t)[],alpha=t]), x=-3..10, y=-10..10, gridrefine=3);
plots:-animate(F,[t], t=0..Pi, frames=90, background=plots:-display(plottools:-polygon([[0,0],[6,0],[2,3]],color="LightBlue", thickness=2)), scaling=constrained);

(x*cos(alpha)+y*sin(alpha)-x0)^2/a^2+(9/4)*(-x*sin(alpha)+y*cos(alpha)-y0)^2/a^2 = 1

 

[[x = 0, y = 0], [x = 2, y = 3], [x = 6, y = 0]]

 

[x0^2/a^2+(9/4)*y0^2/a^2 = 1, (2*cos(alpha)+3*sin(alpha)-x0)^2/a^2+(9/4)*(-2*sin(alpha)+3*cos(alpha)-y0)^2/a^2 = 1, (6*cos(alpha)-x0)^2/a^2+(9/4)*(-6*sin(alpha)-y0)^2/a^2 = 1]

 

{a = (1/72)*(31625*sin(alpha)^6-25500*cos(alpha)*sin(alpha)^5-11850*sin(alpha)^4-5700*cos(alpha)*sin(alpha)^3+40605*sin(alpha)^2+11760*cos(alpha)*sin(alpha)+56260)^(1/2), x0 = (5/4)*sin(alpha)^2*cos(alpha)+3*cos(alpha)-(85/24)*sin(alpha)^3+(49/24)*sin(alpha), y0 = -(85/54)*sin(alpha)^2*cos(alpha)+(49/54)*cos(alpha)-(5/9)*sin(alpha)^3-(22/9)*sin(alpha)}

 

{a = (1/576)*630565^(1/2)*8^(1/2), x0 = (187/96)*2^(1/2), y0 = -(281/216)*2^(1/2)}

 

proc (t) options operator, arrow; plots:-implicitplot(eval(Eq1, [(eval(Sol, alpha = t))[], alpha = t]), x = -3 .. 10, y = -10 .. 10, gridrefine = 3) end proc

 

 

 


Edit.

Download ells2.mw

@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.

First 21 22 23 24 25 26 27 Last Page 23 of 134