Artifact 44371fade9eeea3adebb66868defa9d6afccb0f5a48dcc34e563d646292e3715:
- Executable file
r37/packages/plot/specplot.tst
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 8645) [annotate] [blame] [check-ins using] [more...]
- Executable file
r38/packages/plot/specplot.tst
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 8645) [annotate] [blame] [check-ins using]
% Test file for plots of special functions. % Kerry Gaskell, Konrad-Zuse-Zentrum Berlin, 1993. % This file runs with ON DEMO; load_package gnuplot; load_package specfn; on demo; %Mathematica - page 112 plot(sin(x^2),title="sin(x^2)"); plot(sin(1/x),x=(-1 .. 1),title="sin(1/x)"); %Mathematica - page 112 plot(sin(x^2),x=(0 ..3),title="sin(x^2)"); plot(cos(1/x),x=(-1 .. 1),title="cos(1/x)"); plot(cos(x^2),title="cos(x^2)"); plot(cos(x^2),x=(-3 .. 3),title="cos(x^2)"); %Handbook of Mathematical Functions - page 778 plot(chebyshevt(1,x),chebyshevt(2,x),chebyshevt(3,x),chebyshevt(4,x), chebyshevt(5,x),x=(-1 .. 1),title="Chebyshev t Polynomials"); %Handbook of Mathematical Functions - page 779 plot(chebyshevu(1,x),chebyshevu(2,x),chebyshevu(3,x),chebyshevu(4,x), chebyshevu(5,x),x=(-1 .. 1),y=(-6 .. 6), title="Chebyshev u Polynomials"); %Handbook of Mathematical Functions - page 776 plot(gegenbauerp(2,1/2,x),gegenbauerp(3,1/2,x),gegenbauerp(4,1/2,x), gegenbauerp(5,1/2,x),x=(-1 .. 1),y=(-1 .. 1), title="Gegenbauer Polynomials"); %Handbook of Mathematical Functions - page 777 plot(gegenbauerp(5,0.2,x),gegenbauerp(5,0.4,x),gegenbauerp(5,0.6,x), gegenbauerp(5,0.8,x),gegenbauerp(5,1,x),x=(-1 .. 1),y=(-1.5 .. 1.5), title="Gegenbauer Polynomials"); %Handbook of Mathematical Functions - page 780 plot(laguerrep(2,x),laguerrep(3,x),laguerrep(4,x),laguerrep(5,x), x=(0 .. 6),y=(-2 .. 4),title="Laguerre Polynomials"); %Handbook of Mathematical Functions - page 780 plot(legendrep(2,x),legendrep(3,x),legendrep(4,x),legendrep(5,x), x=(-1 .. 1),y=(-1 .. 1),title="Legendre Polynomials"); %Handbook of Mathematical Functions - page 496 plot(struveh(0,x),struveh(1,x),struveh(2,x),struveh(3,x), x=(0 .. 12),y=(-0.5 .. 2),title="Struve Functions"); %Handbook of Mathematical Functions - page 496 plot(struveh(-1,x),struveh(-2,x),struveh(-3,x), x=(0 .. 16),y=(-1 .. 1),title="Struve Functions"); %Handbook of Mathematical Functions - page 776 plot(jacobip(5,1.5,0,x),jacobip(5,1.5,-0.2,x),jacobip(5,1.5,-0.4,x), jacobip(5,1.5,-0.6,x),jacobip(5,1.5,-0.8,x),x=(-1 .. 1), y=(-1.5 .. 1.5),title="Jacobi Polynomials"); %Handbook of Mathematical Functions - page 776 plot(jacobip(5,1.0,-0.5,x),jacobip(5,1.2,-0.5,x),jacobip(5,1.4,-0.5,x), jacobip(5,1.6,-0.5,x),jacobip(5,1.8,-0.5,x),jacobip(5,2.0,-0.5,x), x=(-1 .. 1),y=(-1.5 .. 1.5),title="Jacobi Polynomials"); %Handbook of Mathematical Functions - page 773 plot(jacobip(1,1.5,-0.5,x),jacobip(2,1.5,-0.5,x),jacobip(3,1.5,-0.5,x), jacobip(4,1.5,-0.5,x),jacobip(5,1.5,-0.5,x),x=(-1 .. 1), y=(-1.5 .. 3),title="Jacobi Polynomials"); %Handbook of Mathematical Functions - page 780 << algebraic procedure hermite_base(x,n); hermite_base1(x,n,{2*x,1},1); plot(hermitep(2,x)/8,hermitep(3,x)/27,hermitep(4,x)/64, hermitep(5,x)/125,x=(0 .. 4),y=(-2 .. 8), title="Hermite Polynomials/n^3"); >>; %Mathematica - page 115 plot(besselj(0,x),besselj(1,x),besselj(2,x),besselj(4,x),x=(0 .. 10), y=(-2 .. 2),title="Bessel functions of 1st kind"); %Handbook of Mathematical Functions - page 359 plot(bessely(0,x),bessely(1,x),bessely(2,x),x=(0.1 .. 10),y=(-1 .. 1), title="Bessel functions of 2nd kind"); %bessely(2,x),bessely(4,x) plot(besseli(0,x),besseli(1,x),besseli(2,x),x=(-4 .. 4),y=(-10 .. 15), title="Bessel functions of 3rd kind"); %Evolutionstheorie und dynamische Systeme - page 93 %A function to calculate a given number of consecutive points on a %curve when given a small value h and then to plot the curve. on comp; << symbolic procedure vera(h,x,y,n); begin scalar result_i, old, lst; lst := {{'list,x,y}}; lst := append(lst,{result_i := bambam(0,x,y)}); lst := append(lst, for i:= 2 :n collect <<result_i:= rest result_i; old := result_i; result_i := bambam(h,first(result_i),second(result_i)); result_i >>); return ('list . lst); end; symbolic operator vera; symbolic procedure bambam(h,x,y); begin scalar result_x, result_y, temp, new_x, new_y; temp := frank(h,x,y); new_x := car temp; new_y := cadr temp; result_x := x+h*new_x; result_y := y+h*new_y; return {'list,result_x,result_y}; end; symbolic procedure frank(h,x,y), begin scalar result, temp, temp2, new_x, new_y; temp := bob(x,y); new_x :=x + h*car temp; new_y :=y + h*cadr temp; temp2 :=bob(new_x,new_y); result := {(car temp+car temp2)*0.5, (cadr temp+cadr temp2)*0.5}; return result; end; % A function to calculate the values of dx/dt and dy/dt from given %equations. symbolic procedure bob(x,y); begin scalar result_x, result_y; if numberp x and numberp y then <<result_x := x*((1+x)*(3-x)-y); result_y := y*(x-2)>> else << printlist ("Try again with numbers next time!") >>; return {result_x,result_y}; end; plot({symbolic vera(0.02,6,1,30),symbolic vera(0.03,6,3,80), symbolic vera(0.03,6,5,75), symbolic vera(0.03,0.5,7,160)}, title="dx/dt=x((1+x)(3-x)-y), dy/dt=y(x-2)"); >>; << %Evolutionstheorie und dynamische Systeme - page 92 %A function to calculate a given number of consecutive points on a %curve when given a small value h and then to plot the curve. symbolic procedure joan(h,x,y,n); begin scalar result_i, old, lst; lst := {{'list,x,y}}; lst := append(lst,{result_i := pebbles(0,x,y)}); lst := append(lst, for i:= 2 :n collect <<result_i:= rest result_i; old := result_i; result_i := pebbles(h,first(result_i),second(result_i)); result_i >>); return ('list . lst); end; symbolic operator joan; symbolic procedure pebbles(h,x,y); begin scalar result_x, result_y, temp, new_x, new_y; temp := wilma(x,y); new_x := car temp; new_y := cadr temp; result_x := x+h*new_x; result_y := y+h*new_y;; return {'list,result_x,result_y}; end; % A function to calculate the values of dx/dt and dy/dt from given %equations. symbolic procedure wilma(x,y); begin scalar result_x, result_y; if numberp x and numberp y then <<result_x := x*((1+x)*(3-x)-y); result_y := y*(x-4)>> else << printlist ("Try again with numbers next time!") >>; return {result_x,result_y}; end; plot({symbolic joan(0.02,6,1,75),symbolic joan(0.02,6,3,65), symbolic joan(0.02,6,5,65),symbolic joan(0.02,4,7,65), symbolic joan(0.02,1.5,7,55),symbolic joan(0.02,0.5,7,100)}, title="dx/dt=x((1+x)(3-x)-y), dy/dt=y(x-4)"); >>; << %Evolutionstheorie und dynamische Systeme - page 83 %A function to calculate a given number of consecutive points on a %curve when given a small value h and then to plot the curve. symbolic procedure betty(h,x,y,n); begin scalar result_i, old, lst; lst := {{'list,x,y}}; lst := append(lst,{result_i := barney(0,x,y)}); lst := append(lst, for i:= 2 :n collect <<result_i:= rest result_i; old := result_i; result_i := barney(h,first(result_i),second(result_i)); result_i >>); return ('list . lst); end; symbolic operator betty; symbolic procedure barney(h,x,y); begin scalar result_x, result_y, temp, new_x, new_y; temp := fred(x,y); new_x := car temp; new_y := cadr temp; result_x := x+h*new_x; result_y := y+h*new_y; return {'list,result_x,result_y}; end; % A function to calculate the values of dx/dt and dy/dt from given %equations. symbolic procedure fred(x,y); begin scalar result_x, result_y; if numberp x and numberp y then <<result_x := x-y-x*(x^2+y^2); result_y := x+y-y*(x^2+y^2)>> else << printlist ("Try again with numbers next time!") >>; return {result_x,result_y}; end; plot({symbolic betty(0.05,-2,0,25),symbolic betty(0.05,1,-2,25), symbolic betty(0.05,1.25,1.75,25),symbolic betty(0.1,0.01,0.01,65), symbolic betty(0.1,-0.01,0.005,65),symbolic betty(0.1,0.005,-0.01,65), symbolic betty(0.1,0,1,65)}, title="dx/dt=x-y-x(x^2+y^2), dy/dt=x+y-y(x^2+y^2)"); >>; plot(repart(lambert_w(x))); plot(Jacobisn(u,1/2),Jacobicn(u,1/2),Jacobidn(u,1/2), u=(0 .. 4*EllipticK (1/2)), y = (-1 .. 1),title="sn , cn and dn for m=1/2"); plot(Jacobins(u,1/2),Jacobinc(u,1/2),Jacobind(u,1/2), u=(0 .. 4*EllipticK (1/2)), y = (-2 .. 2.5),title="ns , nc and nd for m=1/2"); plot(Jacobics(u,1/2),Jacobisc(u,1/2),Jacobicd(u,1/2), Jacobidc(u,1/2), u= (0 .. 4*EllipticK(1/2)),y = (-1.5 .. 1.5) ,title="cs, sc, cd and dc for m=1/2"); end;