Beruflich Dokumente
Kultur Dokumente
FAQ MAXIMA
Version 0.93 du 13 juillet 2010
Auteur Michel Gosse Mel : michel.gosse@free.fr Cette Faq a pour objectif de rpondre de manire concrte et pratique toutes les questions que lon peut se poser sur Maxima et son utilisation. La dernire version de cette faq est tlchargeable ladresse : http://michel.gosse.free.fr/ Certaines rponses sont extraites de la liste internationale de Maxima dont nous remercions tous les participants.
2 Calcul numrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Comment trouver une valeur approche dun nombre ? Comment rsoudre numriquement une quation ? . . . Comment trouver les solutions positives dune quation La fonction partie entire . . . . . . . . . . . . . . . . . . . . La fonction valeur absolue . . . . . . . . . . . . . . . . . . . Majorer une somme par la somme des valeurs absolues Simplier des expressions comportant des racines carres 2.7.1 En utilisant le package sqdnst . . . . . . . . . . . . . 2.7.2 avec la commande ratsimp . . . . . . . . . . . . . . . 2.8 Comment trouver le maximum dune liste . . . . . . . . . 2.9 Comment calculer des lignes trigonomtriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 6 6 7 7 7 7 8 8 8
3 Arithmtique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1 Quotient et diviseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 Comment obtenir le reste dune division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3 Comment changer de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Section
4 Calcul algbrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Comment rsoudre une inquation . . . . . . . . . . . . . . . 4.2 Comment dcomposer une fraction en lments simples ? 4.3 Comment simplier une somme de logarithmes . . . . . . . 4.4 Comment ordonner les termes dun polynme . . . . . . . 4.5 Comment obtenir le coecient du terme dun polynome 4.6 Comment gnrer un polynome partir des coecients . 4.7 Linariser un polynome trigonomtrique . . . . . . . . . . . 4.8 Transformer avec la forme exponentielle . . . . . . . . . . . 4.9 Comment obtenir un dveloppement en srie . . . . . . . . 4.10 Comment calculer une somme double ordonne . . . . . . 4.11 Comment liminer une racine carre dun dnominateur 4.12 Substituer une variable une valeur . . . . . . . . . . . . . 4.13 Substituer compltement une variable une expression . 4.14 Substituer compltement et simplier une expression . . 4.15 Manipuler une quation . . . . . . . . . . . . . . . . . . . . . 4.16 Factoriser une expression . . . . . . . . . . . . . . . . . . . . 5 Nombres complexes 5.1 5.2 5.3 5.4 5.5 5.6 5.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 14 14 14 14 14 15 15 15 15 16 16 16 17 17 17 18 18 18 18 18 19 19 19 19 19 19 19 20 20 20 20 20 21 21 21
Dnition dun nombre complexe . . . . Module dun nombre complexe . . . . . . Argument dun nombre complexe . . . . Forme algbrique dun nombre complexe Forme exponentielle . . . . . . . . . . . . . Formules dEuler . . . . . . . . . . . . . . . Transformer une exponentielle complexe
6 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Comment calculer une limite ? . . . . . . . . . . . . . . 6.2 Comment calculer une drive dordre n ? . . . . . . . 6.3 Calcul dintgrales . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Comment intgrer par parties ? . . . . . . . . . . 6.3.2 Un package pour lintgration par parties . . . . 6.4 Intgrer numriquement avec la mthode de Romberg 6.5 La fonction dilogarithme . . . . . . . . . . . . . . . . . . 7 Statistiques . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1 Vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Comment noter un vecteur . . . . . . . . . . . . . 8.1.2 Comment calculer un produit scalaire . . . . . . 8.1.3 Comment calculer un produit vectoriel . . . . . . 8.2 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Comment crire une matrice . . . . . . . . . . . . 8.2.2 Comment extraire une ligne dune matrice . . . 8.2.3 Comment extraire une colonne dune matrice . 8.2.4 Comment transposer une matrice . . . . . . . . . 8.2.5 La fonction echelon . . . . . . . . . . . . . . . . . . 8.2.6 Transformer une matrice en vecteur . . . . . . . 8.2.7 Comment gnrer automatiquement une matrice 8.2.8 Comment multiplier deux matrices . . . . . . . . 8.2.9 Comment inverser une matrice . . . . . . . . . . . 8.2.10 Comment calculer une puissance de matrices .
Maxima
8.3 Comment rsoudre une rcurrence linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Graphisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Courbes planes cartsiennes . . . . . . . . . . . . . . . 9.1.1 Reprsenter une fonction en escalier . . . . . . 9.1.2 Reprsenter la fonction partie entire . . . . . . 9.1.3 Reprsenter une famille de fonctions . . . . . . 9.2 Comment reprsenter un cercle . . . . . . . . . . . . . 9.3 Courbes planes polaires . . . . . . . . . . . . . . . . . . 9.3.1 Comment tracer une courbe en polaire . . . . . 9.4 Courbes planes paramtriques . . . . . . . . . . . . . 9.4.1 Comment tracer une courbe en paramtrique ? 10 Entres et sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21 22 22 22 22 23 23 23 23 23 24 24 25 25 25 26 26 26 26 26 26 27 27 28 28 28 28 29 29 29 30 30 30 31 31 31 32 32 33
10.1 Variables rserves . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Variables rserves Maxima . . . . . . . . . . . . . . . . . 10.1.2 Comment noter plus linni ? . . . . . . . . . . . . . . . . . 10.1.3 Comment noter moins linni ? . . . . . . . . . . . . . . . 10.2 Eacer la valeur dune variable . . . . . . . . . . . . . . . . . . . 10.3 Fonctions usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.1 Comment crire la fonction logarithme nprien . . . . . 10.3.2 Comment dnir la fonction logarithme dcimal . . . . . 10.3.3 Comment dnir une fonction drive . . . . . . . . . . . 10.4 Comment transformer une expression en fonction . . . . . . . 10.5 Dnir une fonction formellement . . . . . . . . . . . . . . . . . 10.6 Comment rcuprer un lment dune liste . . . . . . . . . . . . 10.7 Comment additionner les lments dune liste . . . . . . . . . . 10.8 Comment simplier une expression trigonomtrique . . . . . 10.9 Comment tester une galit . . . . . . . . . . . . . . . . . . . . . 10.10 Comment dclarer quun nombre est entier . . . . . . . . . . . 10.11 Comment dclarer quun nombre est positif . . . . . . . . . . 10.12 Comment savoir si une expression contient une variable . . . 10.13 Isoler une sous-expression . . . . . . . . . . . . . . . . . . . . . . 10.14 Comment exporter en tex . . . . . . . . . . . . . . . . . . . . . 10.15 Comment choisir un chier dexportation . . . . . . . . . . . 10.16 Comment charger des commandes au lancement de maxima 10.17 Comment utiliser une fonction comme argument . . . . . . . 10.18 Comment composer n fois une fonction . . . . . . . . . . . . . 10.19 Comment collecter des termes dune expression . .. ... . 10.20 Exporter en Latex . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.21 Firewall et port sous Windows XP . . . . . . . . . . . . . . . .
1 Maxima
1.1 Le statut de Maxima
1.1.1 Maxima est-il gratuit ? Totalement. Le code de Maxima est en open source. Vous avez droit de le copier, de le modier, de le distribuer librement. Vous pouvez intaller le logiciel sur autant de postes que vous le dsirez. 1.1.2 Maxima est-il performant ? Tout fait. Le code de Maxima existe depuis plus de 15 ans. Maxima est utilis avec succs pour rsoudre de nombreux problmes mathmatiques.
Section 1
1.1.3 Quelles dirences avec des logiciels commerciaux comme Maple ou Mathematica ? Linterface de Maxima nest pas trs performante. Les logiciels commerciaux proposent une interface beaucoup plus ergonomique. Cependant, au niveau mathmatique, Maxima na rien envier aux logiciels commerciaux. Signalons que lusage de Maxima avec TeXmacs ou WxMaxima permet dobtenir une interface moderne et wysiwyg. 1.1.4 Qui est lauteur de Maxima ? Les informaticiens du dpartement de lEnergie amricain ont labor le premier code source. Ce code fut dabord vendu une socit prive qui la dvelopp an de commercialiser le logiciel Macsygma. Le docteur William Schelter a ensuite obtenu lautorisation dexploiter le code du logiciel original, qui fut mis en open source sous le nom de Maxima. Le docteur Schelter la maintenu et amlior durant une quinzaine danne. A sa mort prmature en 2001, le dveloppement du logiciel a t repris par une quipe de dveloppeurs bnvoles. 1.1.5 Quelle est la dirence entre Macsygma et Maxima Macsygma est un logiciel commercial dont le code source reposait sur le noyau de Maxima. Ce logiciel nest plus commercialis. La version en open source sappelle Maxima. 1.1.6 Quel est le site de Maxima Le site ociel est dsormais hberg par Sourceforge ladresse : http://maxima.sourceforge.net/
Une quipe de dveloppeurs bnvoles travaille sur le code de Maxima. Ils communiquent entre eux grce Internet. Un site CVS ddi permet de faire les mises jour du code. Les utilisateurs communiquent les bugs trouvs qui sont radiqus.
Calcul numrique
1.3.1 Linterface xmaxima (tcl) Cest linterface graphique qui est livre avec le programme. Ancienne et un peu sommaire, son remplacement par Wxmaxima est dornavant eectusg2e19. 1.3.2 WxMaxima Interface moderne et fonctionnelle, qui permet dentrer une grande partie des commandes de Maxima laide dicnes. Ses fonctionnalits ddition et sa simplicit en font un logiciel idal pour utiliser Maxima. Elle fonctionne sous toutes les plate-formes. Le site de rfrence est : http://wxmaxima.sourceforge.net/ 1.3.3 Texmacs Texmacs est un traitement de textes scientiques, qui permet dentrer directement des commandes Maxima. Son intrt est de produire des documents dune qualit remarquable. Par contre, toutes les commandes Maxima doivent tre entres au clavier. Le site de rfrence : http://www.texmacs.org/ 1.3.4 Imaxima Imaxima est une extension pour le traitement de textes Emacs qui permet denvoyer et de recevoir des commandes Maxima dans un buer. Le site de rfrence : http://members3.jcom.home.ne.jp/imaxima/Site/Welcome.html
2 Calcul numrique
2.1 Comment trouver une valeur approche dun nombre ?
La commande ev(x,numer) renvoie une valeur approche de x. La commande boat(x) renvoie le nombre x en virgule ottante, la prcision donne par fpprec que lon peut modier : (C7) x:%pi; (D7) (C8) ev(x,numer); (D8) 3.141592653589793 (C9) fpprec:10; (D19) 10 (C20) bfloat(x); 3.141592654B0 (C21) fpprec:100; (D21) 100 (C22) bfloat(x); 3.1415926535897932384626433832795028841971693993751058209749445923078 16406286208998628034825342117068B0
Section 2
Calcul numrique
Section 2
(C1) load("sqdnst"); (D1) /usr/share/maxima/5.9.0/share/simplication/sqdnst.mac (C2) a:sqrt(2)+sqrt(6-4*sqrt(2)); (D2) 2 + 6 4 2 (C3) sqrtdenest(d2); (D3) 2 2.7.2 avec la commande ratsimp Par dfaut, la commande ratsimp de Maxima ne simplie pas les expressions contenant des racines carres. Mettre loption algebraic true permet dimposer les simplications : (C1) q1:1/(sqrt(5)-1); (D1) 1 51 1 51
Arithmtique
3 Arithmtique
3.1 Quotient et diviseur
La commande divide(m,n) renvoie le diviseur et le reste de la division de lentier m par n. Cette commande fonctionne galement avec les polynmes. (C1) divide(100,7); (D1) [14, 2] (C2) divide(3693,3); (D2) [1231, 0] (C3) divide(X^3-1,X-1); (D3) X 2 + X + 1, 0 (C4) divide(X^4+X^2-3,X^2+1); (D4) X 2, 3
10
Section 4
4 Calcul algbrique
4.1 Comment rsoudre une inquation
?
La version 5.9 de Maxima ( et antrieures ) ne sait pas rsoudre les inquations. Il est souhaiter que cette fonctionnalit soit implmente dans les futures versions, notamment la version 6.0.
Calcul algbrique
11
(C2) rat(expand(x+y+z)^3); (D2) z 3 + (3 y + 3 x) z 2 + 3 y 2 + 6 x y + 3 x2 z + y3 + 3 x y 2 + 3 x2 y + x3 (C3) rat(expand(x+y+z)^3,x); (D3) x3 + (3 z + 3 y ) x2 + 3 z 2 + 6 y z + 3 y 2 x + z 3 + 3 y z 2 + 3 y 2 z + y 3 Le package expandwrt peut aussi contribuer ordonner les termes dun polynme :
(D4) 2 x3 + 3 x2 + 4 x + 5
12
Section 4
ai b j :
Calcul algbrique
13
(D2)
151 3
(x + 1) 1 + 2 x2 + x y
14
Section 5
5 Nombres complexes
5.1 Dnition dun nombre complexe
Le complexe z = a + i b se dnit avec Maxima par z:a+%i*b; (C1) z1:sqrt(3)+%i; (%o9) i + 3 (%i10) z2:sqrt(2)-%i*sqrt(2); (%o10) 2 2 i
Nombres complexes
15
16
Section 6
6 Analyse
6.1 Comment calculer une limite ?
La fonction limit(expression,variable,point,direction) rpond cette question. La direction (facultative) est donne par plus pour la limite par valeur suprieure, et minus pour la limite par valeur infrieure : (%i1) limit(sin(x)/x,x,0)=limit(sin(x)/x,x,0) (%o7) lim sin (x) =1 x x 0 ex = x x2 1 =0 2 x +1 x lim 1 = t 1 = t
La fonction tlimit eectue aussi le calcul dune limite, mais en utilisant les dveloppements en srie de Taylor. Cela peut quelquefois donner une solution que la fonction limit est incapable de trouver :
Analyse
17
(%i6) limit(sqrt(9*x^2+6*x+3)+3*x+1,x,minf) Is x positive or negative?negative (%o14) Cette rponse est fausse. Par contre, on obtient la bonne rponse avec tlimit : (%i15) tlimit(sqrt(9*x^2+6*x+3)+3*x+1,x,minf) (%o15) 0
(C1) intpart(u,v,a,b):=subst(x=b,integrate(u,x))*subst(x=b,v)subst(x=a,integrate(u,x))*subst(x=a,v)integrate(integrate(u,x)*diff(v,x),x,a,b); (D1) intpart(u, v, a, b): = SUBSTITUTE(x = b, INTEGRATE(u, x)) SUBSTITUTE(x = b, v ) SUBSTITUTE(x = a, INTEGRATE(u, x)) SUBSTITUTE(x = a, v ) INTEGRATE(INTEGRATE(u, x) DIFF(v, x), x, a, b) (C2) integrate(x*log(x),x,1,%e)=intpart(x,log(x),1,%e);
e
(D3)
1
e2 x log x d x = 2
e2 2
2 2
(C4) integrate(x*exp(2*x),x,0,1)=intpart(x,exp(2*x),0,1);
1
(D5)
0
x e2 x d x =
e2 1 + 4 4
2 n 1 n +1 xn sin x d x = n+1
xn +1 cos x d x n+1
18
Section 7
6.3.2 Un package pour lintgration par parties Le package bypart permet deectuer une intgration par parties sans bornes dnies. On dispose alors de la fonction byparts(intgrande,variable,u,dv) : (C1) load(bypart); (D1) /usr/share/maxima/5.9.0/share/integration/bypart.mac (C2) byparts(log(x),x,log(x),1); (D2) x log x x (C3) byparts(x*exp(x),x,x,exp(x)); (D6) x ex ex
(C15) integrate(f(x),x,0,1);
1
(D15)
0
sin x2 + 1 + 1 d x
7 Statistiques
7.1 Comment tudier des sries statistiques
Le package descriptive.mac permet ltude des sries statistiques. Il se tlcharge ladresse http://www.telefonica.net/web2/biomates/maxima/descriptive/descriptive.htm
Algbre linaire
19
8 Algbre linaire
8.1 Vecteurs
8.1.1 Comment noter un vecteur On dnit un vecteur par ses coordonnes que lon note entre deux crochets. Par exemple, la commande u:[a,b,c]; dnit le vecteur M u de coordonnes (a, b, c). (C1) u:[1,2,3]; (D1) [1, 2, 3] (C2) v:[-1,2,3]; (D2) [ 1, 2, 3] (C3) u+v; (D3) [0, 4, 6] 8.1.2 Comment calculer un produit scalaire Le produit scalaire se note avec un point, prcd et suivi dun espace : (C13) a:[1,2,3]; (D13) [1, 2, 3] (C14) b:[0,-1,5]; (D14) [0, 1, 5] (C15) a . b; (D16) 13 8.1.3 Comment calculer un produit vectoriel Il faut charger le package vect par la commande load("vect"); Ensuite, le produit vectoriel se note ~, et le calcul eectif du produit vectoriel seectue par la commande express(vecteur); maxima] load("vect"); (D10) /usr/share/maxima/5.9.0/share/vector/vect.mac (C11) [x,y,z]~[x1,y1,z1]; (D11) ([x, y, z ], [x1, Y1, z1]) (C12) express(%); (D12) [ y z1 Y1 z, x1 z x z1, x Y1 x1 y]
8.2 Matrices
8.2.1 Comment crire une matrice On dnit une matrice A par la commande A:matrix([1,2,3],[-1,5,2],[4,3,0]);
20
Section 8
8.2.2 Comment extraire une ligne dune matrice On entre la matrice et entre crochets le numro de la ligne dsire. (C11) A[1]; (D11) [1, 2, 3] 8.2.3 Comment extraire une colonne dune matrice La fonction col(matrice,numro de colonne) renvoie la colonne dsire : (C12) col(A,1); 1 (D12) 1 4
8.2.4 Comment transposer une matrice La fonction transpose(matrice) eectue cette opration. (C13) A;
1 2 3 (D13) 1 5 2 4 3 0
Elle renvoie une matrice triangulaire suprieure obtenue avec des combinaisons lmentaires de lignes et de colonnes, avec des lments diagonaux gaux 1. (C26) A;
(C16) A:matrix([3,2],[4,5],[6,1]);
Algbre linaire
21
3 2 (D16) 4 5 6 1
(C17) flatten_matrix(m):= apply(append,args(transpose(m)))$ (C18) flatten_matrix(A); (D18) [3, 4, 6, 2, 5, 1] 8.2.7 Comment gnrer automatiquement une matrice On dnit une suite double, par exemple f[i,i], qui va gnrer les coecients. On termine avec la fonction genmatrix(suite utilise,nombre de lignes, nombre de colonnes) : (C2) f[i,j]:=i^2+j^2; (D7) fi, j : = i2 + j 2 (C8) genmatrix(f,4,5); 2 3 4 5 26 3 4 5 6 29 (D9) 4 5 6 7 34 5 6 7 8 41
On peut utiliser cette possibilit pour crire une matrice sous forme gnrale :
8.2.8 Comment multiplier deux matrices La multiplication des matrices se note avec le point (.), et non pas avec ltoile (*) : (C1) M:matrix([a,b],[c,d]); (D1) a b C d
8.2.9 Comment inverser une matrice La matrice inverse de A se note A^^(-1) : (C1) M:matrix([a,b],[c,d]); (D1) a b C d
22
Section 9
%k2
9 Graphisme
9.1 Courbes planes cartsiennes
9.1.1 Reprsenter une fonction en escalier Maxima renvoie un message derreur si lon essaye de reprsenter une fonction en escalier. Pour y arriver, il faut utiliser une valuation dire. Par exemple, reprsentons la fonction f dnie sur R par f (x) = 1 si x < 0 et f (x) = 1 si x 0 :
Graphisme
23
maxima] f(t):=if t>=0 then 1.0 else -1.0; (D4) f (t): = if t 0 then 1.0 else 1.0 (C5) plot2d((f(x)),[x,-3,3]);
9.1.3 Reprsenter une famille de fonctions Pour reprsenter la famille de fonctions x cos (n x), pour n variant de 1 3, on entre la commande : (C1) plot2d(makelist(cos(n*x),n,1,3),[x,0,2*%pi]);
24
Section 9
(C4) Le trac de la courbe dquation = 1 sur [0, ] sobtient par : (C2) plot_polar(1,[t,0,%pi])$
Entres et sorties
25
(C1) plot2d([parametric,cos(t),sin(t),[t,-%pi*2,%pi*2]]); (C2) plot2d([parametric,cos(t),sin(t),[t,-%pi*2,%pi*2], [nticks,8]]); (C3) plot2d([x^3+2,[parametric,cos(t),sin(t),[t,-5,5]]], [x,-3,3]); Function: PLOT2D (expr,range,...,options,..) Function: PLOT2D ([expr1,expr2,..,exprn],xrange,...,options,..) Function: PLOT2D (parametric_expr) Function: PLOT2D ([..,expr,..,parametric_expr,..],xrange,...,options) donnent les direntes possibilits de tracer des courbes en paramtrique.
10 Entres et sorties
10.1 Variables rserves
10.1.1 Variables rserves Maxima Les noms de variable C1, D1, C2, D2, .... sont rserves Maxima. Elles dsignent les entres (Ci) et les sorties (Di). Par exemple (merci Stavros Macrakis) : (C1) x^3-1; (D1) x3 1 (C2) solve(d1,x); 3 i1 3 i+1 (D2) x = ,x= ,x=1 2 2 (C3) part(d2,1,2); 3 i1 (D3) 2 (C4) pickapart(d3,2); (E4) (D4) 3i E4 1 2
(C5) c2; (D5) SOLVE(D1, x) (C6) d3; 3 i1 (D6) 2 (C7) e4; (D7) 3 i Attention : compter de la version 5.9.2, la numrotation des entres/sorties a t modie. Lentre dune commande est note %in, o n est un entier qui sincrmente dune unit aprs chaque commande, tandis que les sorties se numrotent %on. Les variables c et d sont donc libres dornavant.
26
Section 10
10.1.2 Comment noter plus linni ? Maxima utilise la variable rserve inf : (C1) limit((x+1)/(x+5),x,inf) (D1) 1 (C2) integrate(exp(-x^2),x,0,inf) (D2) 2 10.1.3 Comment noter moins linni ? Maxima utilise la variable rserve minf : (C3) limit(exp(x),x,minf) (D3) 0
Entres et sorties
27
10.3.3 Comment dnir une fonction drive On veut dnir la fonction drive dune fonction f , pour pouvoir la rutiliser : (C1) expression:x^2+1/x; (D1) x2 + 1 x
(C8) f(x):=(expr); (D8) f (x): = log (C9) f(5); (D9) log 2 3 x1 x+1
28
Section 10
d dx g2
g dx fg g2
Entres et sorties
29
30
Section 10
(E20) (D20)
(E22) (D22)
Entres et sorties
31
xsum( f , n) =
k =1
f (k )
o f est une fonction donne et n un entier. Les tests se font avec la fonction identit puis la fonction carre. (C1) xsum(f,n):=block([s:0],for k:1 thru n do (s:s + apply(f,[k])),s)$
32
Section 10
(C6) f(x):=x$ (C7) g(x):=x^2$ (C8) xsum(f,2); (D8) 3 (C9) xsum(g,3); (D9) 14 Autre solution, utilisant la commande translate : (C10) ysum(f,n):=block([s:0],for k:1 thru n do (s:s+f(k)),s)$ (C11) ysum(f,2); (D11) 3 (C12) ysum(g,3); (D12) 6 (On constate ici une erreur) (C13) translate(ysum)$ (C14) ysum(g,3); (D14) 14
Entres et sorties
33