Basiscommando's Maple


Nauwkeurigheid Default is nauwkeurigheid 10 cijfers, te wijzigen in n cijfers met het commando Digits(n);
evalf(x,n); geeft x in n significante cijfers
Let op: 1/7; blijft exact, zodat evalf(1/7,n); levert waarde in n cijfers; echter, 1./7; wordt geëvalueerd in 10 (resp. Digits(n)) cijfers, zodat evalf(1./7,30); toch maar 10 (resp. Digits(n)) cijfers geeft.
Functies Functie:
f := x-> x^2;
g := x-> sqrt( 1-x );
p := proc(x,a) local y: y := x-a: if y = 0 then return 0: else return y*sin(1/y): end if: end proc;
q := (x,a,b) -> piecewise(x<=a, x^2, x>a and x<=b, x^3, x>b, x^4);
saw := x -> piecewise(sin(Pi*x)>=0, x-floor(x), sin(Pi*x)<0, -x+ceil(x));
Samenstelling
h := g@f;
Expressies:
a := x^3 + 1;
Van expressie functie maken (" to apply f" om f(x) te krijgen <=> " to unapply f(x)" om f te krijgen):
k := unapply(a,x);
Plotten Verschillende manieren om plot te gebruiken:
plot( f , -2..2 );
plot( f(x), x = -2..2 );
plot(a, x = -2..2 );
plot(k, -2..2 );
plot(g@f, -2..2 );
plot((g@f)(x), x = -2..2 );
plot(h, -2..2 );
plot(x -> x^3, -2..2 );
plot(x^2, x = -2..2 );
Functie-evaluatie in voorgeschreven punten:
f := x-> sin(x);a:=0;b:=10;N:=20;ymin:=-1;ymax:=1;
L := [seq([a+(b-a)*n/N,f(a+(b-a)*n/N)],n=0..N)]:
plot([L,L], x = a..b, y = ymin..ymax, style=[line,point],color=[red,red]);
plot(CurveFitting[Spline](L,x,degree=3), x = a..b, y = ymin..ymax);
Geparametriseerde kromme:
plot([ cos(t), sin(3*t), t = 0..2*Pi ], -1.1..1.1, -1.1..1.1,);
plot([ 1-cos(t), t, t = 0..2*Pi ], -2.5..0.5, -1.5..1.5, coords=polar );
Als een functie f impliciet gegeven is door x=G(f):
x := t -> G(t): f := t -> t: plot([x(t),f(t),t=0..3],labels=["x","f(x)"]);
Meervoudige plots:
plot([cos(t), -cos(t), cos(t)*sin(20*t)],t=0..3*Pi,color=[red, red, black],linestyle=[DASH, DASH, SOLID], view=[-0.5..10, -1.1..1.1], axes=boxed);
with(plots): A := array(1..2, 1..2): for n from 1 to 2 do for k from 1 to 2 do A[n,k]:=plot(cos(k^2*x)/sqrt(1+x^n),x=0..10): end: end: display(A);
Wantrouwen Blijf altijd de resultaten wantrouwen:
f := x-> sin( arcsin(x) ); en f := x-> cos( arccos(x) ); worden (in Maple 9.5) foutief (waarom?) vereenvoudigd tot f := x-> x.
Evenzo gaat fout: exp( ln(x) ), sqrt(x)^2, enz. alleen sqrt( x^2 )gaat weer wel goed, terwijl ook arcsin( sin(x) ); en arccos( cos(x) ); heel correct (waarom?) niet worden vereenvoudigd tot x.
Omwerken Uitdrukkingen uitwerken en vereenvoudigen:
expand( expressie ) werkt haakjes weg (en meer)
simplify( expressie ) vereenvoudigt een expressie (maar niet altijd tot wat je wilt......)
combine( expressie ) combineert operaties in een expressie, bijvoorbeeld
combine( exp(x)^2) ; tot exp(2x)
combine( 4*cos(x)^3 ); tot cos(3x) + 3 cos(x)
subs( x = a, y = b, expressie(x,y,z,w) ) vervangt onderdelen in een expressie door iets anders
sort(expressie) sorteert de termen in een polynoom in aflopende machten, bijvoorbeeld:
sort( expand( subs( cos(x) = sqrt(1-sin(x)^2), expand( sin(11*x) ))));
Let op: simplify( f(x) / f(x) ); wordt altijd vereenvoudigd tot 1, ongeacht waar en of  f(x) = 0.
Limieten limit( (x^3 + 3*x + 1) / (2*x^3 + x^2-7), x = infinity);
limit( sin(x) / x , x = 0 );
Complex Complexe getallen:
de I is in Maple de imaginaire eenheid:
z := 2 + 3*I;
Reëel en imaginair deel:
Re(z); Im(z);
Argument (let op het gebruikte bereik):
argument(z);
Omzetten naar polaire notatie (eerst de library "polar" inlezen):
readlib(polar):
polar(z);
Vermenigvuldigen en delen:
w := 1-I;
z*w;
z/w;
Complexe oplossingen van vergelijkingen:
solve( x^2 + 2*x + 5 = 0, x);
solve( x^3 = 1, x );
Complexe e-machten en polaire notatie:
a := 2*exp(I*t); b := 3*exp(I*s);
simplify( a*b );
Plaatjes van complexe functies (complexe vlak = grondvlak,  heuvellandschap daarboven van reëel of imaginair deel)
plot3d( Re( (x+I*y)^3 ), x = -2..2, y = - 2..2, axes=boxed );
plot3d( Im( (x+I*y)^3 ), x = -2..2, y = - 2..2, axes=boxed );
plot3d( Re( exp(x+I*y) ), x = -2..2, y = - 2*Pi..2*Pi, axes=boxed );
plot3d( Im( exp(x+I*y) ), x = -2..2, y = - 2*Pi..2*Pi, axes=boxed );
Differentieren diff(f(x), x); differentieert de expressie f(x) naar x.
D(f) differentieert de functie f,
met andere woorden: D(f)(x) = diff(f(x), x), terwijl D(f) = unapply(diff(f(x), x), x).
(D@@2)(f) is 2e afgeleide van de functie f.
diff(f(x),x$2) is 2e afgeleide van expressie f(x).
Merk op: x$5 = x,x,x,x,x.
Rijen a := n-> sqrt(a(n-1) + 2); a(1):=0;
L := [seq([n,a(n)],n=1..15)]:
plot(L, x = 0..15, y = 0..2.5, style=point, symbol=circle, symbolsize=15);
Reeksen sum((-1)^n/n^2,n=1..infinity);
S := N-> - sum( (-1)^n / (1+n^2), n = 1..N);
L := [seq([n,S(n)] , n=1..15)]:
plot(L, x = 0..15, y = 0..1, style=point, symbol=circle);
Bijzondere functies Afronden op gehelen naar beneden: floor(x);
Afronden op gehelen naar boven: ceil(x) ;
De sign-functie sign(x):= signum(0,x);
De stap-functie H(x):= Heaviside(x).
Operanden Operanden van een functie: op(f(x,y,z))=x,y,z; op(1,f(x,y,z))=x; op(sin(x))=x; op(x^y)=x,y; op(1,x^y)=x; op(2,x^y)=y;
De functie zelf: op(0,f(x,y,z))=f; op(0,sin(x))=sin; op(0,x^y)=^;
Aantal operanden van een functie: nops(f(x,y,z))=3; nops(sin(x))=1; nops(x^y)=2;
Vervang een operand: subsop(0=exp,1=y, sin(x)) = exp(y);

Operanden van een list: op([5,6,7,8])=5,6,7,8; op(3,[5,6,7,8])=7; op(0,[5,6,7,8])=list; ;
Toepassing: plot([seq(op([x^n, x^(1/n)]),n=1..20)],x=0..1,color=[black,red]);
Aantal operanden van een list: nops([5,6,7,8])=4;
Uitbreiden van een list: L:=[x1,x2]; L:=[op(L),x3] = [x1,x2,x3];
Vervang een element van een list: subsop(3=a,[x1,x2,x3]) = [x1,x2,a];
Verwijderen van elementen van een list: subsop(2=NULL,[x1,x2,x3]) = [x1, x3];
Toepassing: plot(subsop(20=NULL,21=NULL,[seq(x^(abs(n)^sign(n)),n=-20..20)]),x=0..1,color=[black]);
Opslaan als Worksheet : meest handig en compleet, maar verwijder eerst output met "Edit -> Remove Output -> From Worksheet"
Maple Input : meest leesbaar maar invoeren door Copy & Paste


Ongesorteerde voorbeelden (rechtermuisklik → koppeling opslaan als):