Maple
Maple är ett datoralgebrasystem, det vill säga ett datorprogram för symbolisk lösning av matematiska problem och tekniska beräkningar, från företaget Maplesoft. Maple utvecklades 1981 vid Symbolic Computation Group - University of Waterloo i Ontario, Kanada. Maple täcker aspekter av teknisk databehandling, inklusive visualisering, dataanalys, matrisberäkning och anslutning. En verktygslåda, MapleSim, lägger till funktionalitet för multidomain fysisk modellering och kodgenerering.
Användningsområden
- Matematiska beräkningar: symbolisk och numerisk lösning av matematiska problem t. ex. ekvationer, integraler och "pretty-printing" av matematiska formler
- Finansiell modellering, analys och applikationsutveckling
- Grafisk framställning
- Matrisoperationer och matrisalgebra
- Statistik och dataanalys: Regressionsanalys, Hypotesprövning, ANOVA, Principalkomponentanalys
- Test och uppmätning: Hårdvarukoppling och dataanalys för test och mätapplikationer
- Teknisk beräkning: analys, signalprocesser, visualisering och algoritmutveckling
Anslutningar
Exempel
Procedur
myfac := proc(n::nonnegint)
local out, i;
out := 1;
for i from 2 to n do
out := out * i
end do;
out
end proc;
Funktion
myfac := n -> product( i, i=1..n );
Integration
- .
int(cos(x/a), x);
Resultat:
Determinant
M:= Matrix([[1,2,3], [a,b,c], [x,y,z]]);
LinearAlgebra:-Determinant(M);
Resultat:
Serie expansion
series(tanh(x),x=0,15)
Resultat:
Lös ekvation numeriskt
f := x^53-88*x^5-3*x-5 = 0 fsolve(f)
Resultat:
-1.097486315, -.5226535640, 1.099074017
Visualisering av en enkel variabel funktion
plot(x*sin(x),x=-10..10);
Visualisering av en funktion av två variabler
plot3d(2-x-(y^2-x^2)^0.5), x=0..1, y=0..1);

Animation
plots:-animate(subs(k = .5, f), x=-30..30, t=-10..10, numpoints=200, frames=50, color=red, thickness=3);

plots:-animate3d(cos(t*x)*sin(3*t*y), x=-Pi..Pi, y=-Pi..Pi, t=1..2);

M := Matrix([[400,400,200], [100,100,-400], [1,1,1]], datatype=float[8]): plot3d(1, x=0..2*Pi, y=0..Pi, axes=none, coords=spherical, viewpoint=[path=M]);

Laplace transform
f := (1+A*t+B*t^2)*exp(c*t);
inttrans:-laplace(f, t, s);
Resultat:
inttrans:-invlaplace(1/(s-a),s,x)
Resultat:
Fourier transform
inttrans:-fourier(sin(x),x,w)
Resultat: