[PDF] [PDF] Un panorama de lutilisation de MAPLE initialement - univenligne

11 juil 2013 · 2 2 Tout le plaisir de la fonction seq, programmation fonctionnelle 14 9 9 Corrigé de l'exercice 16 (méthode de Newton)



Previous PDF Next PDF





[PDF] TP1 : Premiers pas en Maple - Page de Cécile Armana

Il s'agit d'apprendre à utiliser Maple en illustrant votre programme de Règle n˚3 : il vaut mieux commencer une feuille de calcul ou un exercice par la 



[PDF] Corrigé du TD Maple n°3 (MPSI – Année scolaire 2010 - Tourbillon

restart; > Exercice 1: La procédure "valeurabs(x)" calcule la valeur absolue de x > valeurabs:=proc(x) > local a; > a:=evalf(x);#"astuce" permettant de calculer 



[PDF] Maple TP4 Corrigé - cpgedupuydelomefr

TP Info n°4 2012-2013 Thème : suites et séries de fonctions Exercice 1 Soit f une fonction que l'on définira ultérieurement Définir la suite de fonctions gndonnée 



[PDF] Poly de TP Maple en MPSI

d'équations lors d'un exercice de géométrie : le logiciel permet d'alléger les calculs L'usage d'un logiciel de calcul formel figure pour tous, au programme des 



[PDF] Algorithmique et programmation en Maple Travaux - Normale Sup

9 déc 2005 · Algorithmique et programmation en Maple Travaux pratiques : corrigé 9 décembre 2005 Marc Mezzarobba Exercice 1 Écrire une fonction 



[PDF] Maple TD2

Maple TD2 1 Correction des exercices précédents 1 1 Factorielle 1 cf plus bas 2 fact1 := proc(n) local x,i; if n < 1 then return NON end if; x:=1; for i from 1 to n 



[PDF] Travaux pratiques sous Maple et MatlabR - Institut de

l'issue de la séance Les travaux rendus hors délais ne seront pas corrigés Comparez lorsque c'est possible votre programme aux réponses des fonc- tions du logiciel et de présenter les exercices dans des sections distinctes Pour cela 



[PDF] Un panorama de lutilisation de MAPLE initialement - univenligne

11 juil 2013 · 2 2 Tout le plaisir de la fonction seq, programmation fonctionnelle 14 9 9 Corrigé de l'exercice 16 (méthode de Newton)

[PDF] fsolve maple

[PDF] dissipation visqueuse definition

[PDF] cours maple pdf

[PDF] fonction maple

[PDF] dosage chlorure de sodium par nitrate d'argent

[PDF] methode de mohr correction

[PDF] argentimétrie dosage

[PDF] tp4 titrage par précipitation méthode de mohr

[PDF] dosage des chlorures par la méthode de mohr tp

[PDF] dosage argentimétrique des chlorures

[PDF] dosage des ions cuivre par spectrophotométrie

[PDF] dosage des ions sulfates par spectrophotométrie

[PDF] dosage du cuivre par l'edta

[PDF] iodometrie dosage du cuivre d'une solution de sulfate de cuivre

[PDF] dosage des ions cuivre ii corrigé

Un panorama de l'utilisation de MAPLE

initialement concu pour la classe de MP du lycee Paul Cezanne

11 juillet 2013

Vous travaillerez avec un surligneur pour noter les fonctions qui vous seront utiles au fur et a mesure que nous avancerons dans le cours et dans les exercices.

Table des matieres

1 Les types de base, les structures 3

1.1 Les expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2 Sequences, listes, ensembles et tables : quatre types dierents. . . . . . . .

5

1.3 Le type tableau Array (pour les TIPE) . . . . . . . . . . . . . . . . . . . . .

8

1.4 Autour de la simplication . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2 L'algorithmique 10

2.1 Les boucles et instruction conditionnelles . . . . . . . . . . . . . . . . . . .

10

2.2 Tout le plaisir de la fonction seq, programmation fonctionnelle . . . . . . .

14

2.3 Exercices basiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3 L'algebre generale, l'arithmetique 17

3.1 Simplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2 Les polyn^omes et fonctions rationnelles : . . . . . . . . . . . . . . . . . . . .

20

4 L'algebre lineaire, deux packages, faites UN choix 22

4.1 L'algebre lineaire avec linalg . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

4.2 L'algebre lineaire avec LinearAlgebra . . . . . . . . . . . . . . . . . . . . . .

25

4.3 L'algebre lineaire : exemples et exercices . . . . . . . . . . . . . . . . . . . .

29

5 L'analyse 34

5.1 Les outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

5.2 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

6 La geometrie, les plots 2d et 3d 48

6.1 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49
Document disponible surunivenligne.frou surmpcezanne.frsous le nomQueFautIlSavoir 1

7 Resume des competences 51

8 TD52

8.1 Procede de Gram-Schmidt . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

8.2 Methode de Jacobi pour le calcul des valeurs propres . . . . . . . . . . . . .

53

9 Corrections des exercices et des TD 56

9.1 Corrige de l'exercice (6) corps quadratiques . . . . . . . . . . . . . . . . . .

56

9.2 Corrige de l'exercice 9 (algebre lineaire) . . . . . . . . . . . . . . . . . . . .

61

9.3 Corrige de l'exercice 9 (LinearAlgebra) . . . . . . . . . . . . . . . . . . . . .

67

9.4 Corrige de l'exercice 4.3 (systeme lineaire) . . . . . . . . . . . . . . . . . . .

76

9.5 Corrige de l'exercice (11) (matrices et determinants) . . . . . . . . . . . . .

79

9.6 Corrige de l'exercice 12 (developpement asymptotique) . . . . . . . . . . . .

81

9.7 Corrige de l'exercice 14 (serie alternee?) . . . . . . . . . . . . . . . . . . . .

85

9.8 Corrige de l'exercice 15 (serie harmonique alternee) . . . . . . . . . . . . . .

88

9.9 Corrige de l'exercice 16 (methode de Newton) . . . . . . . . . . . . . . . . .

90

9.10 Corrige de l'exercice 19 (division par zero) . . . . . . . . . . . . . . . . . .

96

9.11 Corrige de l'exercice 21 (courbes de Bezier...) . . . . . . . . . . . . . . . . .

100

9.12 Correction TD : le procede de Gram-Schmidt (8.1) . . . . . . . . . . . . . .

111

9.13 Correction TD : La methode de Jacobi (8.2) . . . . . . . . . . . . . . . . . .

114
2

1 Les types de base, les structures

1.1 Les expressions

Un logiciel de calcul formel permet d'eectuer des operations sur desexpressions; elles sont de dierentstypes. Pour une premiere approche vous distinguerez en pratique : 1. Les ob jetsde t ypen umerique: en tiers(in teger),rationnels (fraction), ottan ts oat), complexes (complex), algebriques ... 2.

Les v ariablesformelles (sym bol)

3. Les expressions b ooleennesqui son tdes relations, des c omposeesde relations comme (a=b);(a <= 0) or (k=n);... 4. Les expressions comp osees: sommes ,pro duit,quotien ts,incluan td oncexpressions polynomiales, fractions rationnelles... 5. Les expressions structur ees: s equences,listes, ensem bles,in tervalles(range), tables, tableaux (Array), matrices et vecteurs de l'algebre lineaire-geometrie (variables se- lon la bilbliotheque choisie=... 6.

Les fonctions et les pro cedures...

Toutes ces expressions, a l'exception des sequences (qui sont des suites d'expressions) ont une structure syntaxique que l'on represente par un arbre comme dans les deux exemples qui suivent : 3

3x2+ 6xy+ 1sin(!x+)+

1 3 ^x6y x2sin !x les fonctionswhattype, op, nopsles fonctionswhattype, op, nopsE:= 3*x**2+6*x*y+1; whattype(E); nops(E); op(E);

E:= 3x2+ 6xy+ 1

3

3x;6xy;1

op(1,E); nops(%); whattype(op(1,E)); op(op(1,E)); 3x2 2 3;x24

1.2 Sequences, listes, ensembles et tables : quatre types dierents.

Les sequences (suites)commentaires

s:= a,b,c,d ; s:=a;b;c;d s[2]; b s, e; a;b;c;d;e nops(s);

Error, invalid input: nops

expects 1 argument, but received 3a gauche, dans l'ordre : cr eationd'une s equence; {s[i];on appelle leiiemeelement de la sequence s avec s[i]; {s, e;ajoute un element a la sequence ou a la liste; la virgule est un operateurdeconcatenationde deux sequences... l'instruction nops(s);avec une sequence provoque uneerreur a la- quelle il faut toujours s'attendre: une fonction attend une suite d'ar- guments de types donnes et dans un ordre donne. Ici nops(...) attend une expression et en recoit plusieurs (ce qui est :Error, invalid input : nops expects

1 argument, but received 3

provoquent aussi des erreurs : s[0]; s[5];(ces termes n'existent pas)Le constructeur de sequencesseqseq([i,i^2],i=1..6); [1;1];[2;4];[3;9];[4;16];[5;25];[6;36]Cela se passe de commentaire, on verra tout ce que l'on peut en faire dans la sec- tion (2.2)5

Les listes

L:=[a,b,c,d];

L:= [a;b;c;d]

L[2]; b nops(L); 3 op(L), e; a;b;c;d;e [op(L), e ]; [a;b;c;d;e]

L[nops(L)];

ea gauche : cr eationd'une liste ; on ap pellele iiemeelement de la liste L avec L[i]; nops(L) ;retourne le nom brede ses elements; op(L) est la sequencedes elements de L; ce n'est pas une liste! a jouteun element ala s equence ou a la liste... app eld udernier elementsde la liste provoqueraient des erreurs : L[0]; L[5];(n'existent pas)Les tableauxcommentaires

T[0]:=a;

for i from 1 to 5 do

T[i]:=f(T[i-1]);

od;

T[0] :=a

T[1] :=f(a)

T[5] :=f(f(f(f(f(a)))))

T; eval(T); T table([0 =a;1 =f(a);2 =f(f(a));3 =f(f(f(a)));

5 =f(f(f(f(f(a)))));4 =f(f(f(f(a))))])L'aectationT[expr]:= ...;cree

une table T (dont on pourra explici- ter la structure aveceval(T)). On observera que l'appelTrenvoie la lettreTsans evaluation.6

La fonctionmap :map(f,[a,b,c]);

[f(a);f(b);f(c)] map(f,[a,b,c],x); [f(a;x);f(b;x);f(c;x)] map2(f,x,[a,b,c]); [f(x;a);f(x;b);f(x;c)]

A:=matrix([[a,b],[c,d]]):

map(f,evalm(A)); f(a)f(b) f(c)f(d)map(f,expr)retourne uneexpression de m^emetypeque expr dont les termes (ou descendants) sont les images par f des descendants de exprLa fonctionunapply :unapply(Xb2+X+1);

X!X2+X+ 1

unapply(Xbn+X-1,(n,X)); (n;X)!Xn+X1permet de transformer une expression en fonction7

1.3 Le type tableau Array (pour les TIPE)

Nous avons la une structure qui est proche du celle des listes. Dans les versions recentes de MAPLE (l'actuelle est la 16), les listes ne sont plus gerees des lors qu'elles comptent un certain nombre d'elements. La structureArrayest alors conseillee pour les programmes qui gerent de grosses structures (pour nous cela ne concerne que les TIPE). Elle permet de denir des tableaux a un ou plusieurs index dont les termes admettent, comme ceux des listes, des types quelconques.SyntaxeCommentaires

V := Array([]);

V(1) := [a1, f, g];

V(2) := [a2, f, g];

V(4) := x;

ArrayNumElems(V);

V; V(1); V[1];

V:= []

V:= [[a1;f;g]]

V:= [[a1;f;g] [a2;f;g]]

V:= [[a1;f;g] [a2;f;g] 0x]

4 [[a1;f;g] [a2;f;g] 0x] [a1;f;g] [a1;f;g]{La syn taxeest di erentede celle des listes : on peut les construire terme a terme et ajouter des termes parinser- tionV(i):=...;; l'insertion sem bleaccepter les d eux syntaxesV(i):=...;etV[i]:=...; cette derniere est source de buggs dans les programmesoubliez la!8

1.4 Autour de la simplication

~subs, op, evalf, evalc, value, simplify (no magic!), normal, expand/combine, rationalizesubscommentaires

E:=a^2+7*a*b^2=12*a*b-b^3;

subs(a=r,%); subs(b=a,%); subs(a=r,%); E; r

2+ 7rb2= 12rbb3

r

2+ 7ra2= 12raa3

r

2+ 7r3= 12r2r3

a

2+ 7ab2= 12abb3Permet de remplacer des sous expressions

dans une autre, la syntaxe est subs(sous-expr = new, expression); subs(sous-expr = new, expression);

Attention,

- siexpressionest une variable aectee, cela ne reaecte pas la variable - siexpressionest une matrice sousli- nalgpar exemple, ne pas oublierevalm!

Voir 2.subsopcommentaires

E:=a^2+7*a*b^2+12*a*b-b^3

a

2+ 7ab2+ 12abb3

subsop(2=x*y,E) a

2+xy+ 12abb3Permet de remplacer la ieme sous-

expression) de expr par r (ici i=2, c'est le deuxieme terme de la somme qui est rem- place).9

2 L'algorithmique

Pour ce qui est des exercices d'algorithmique (tres) basique, on pourra consulter les quelques pages de Algorithmique1.pdf...

2.1 Les boucles et instruction conditionnelles

~boucle for ... from ... to ... do ... od;

Suites recurrentes, sommes, produits, listes :u

n+1=f(un) : le niemeterme dans une variableu n+1=f(un) : les n premiers termes dans une tableu:=u0; for i from 1 to n do u:=f(u); od;u[0]:=u0; for i from 1 to n do u[i]:=f(u[i-1]); od;une sommeun produit s:=0; for i from 0 to n do s:=s+a[i] ; od;p:=1; for i from 0 to n do p:=p*a[i]); od;une listeune recurrence lineaire double (ici suite de Fibonacci)L:=[ ]; for i from 1 to n do

L:=[op(L), a[i]];

od;F[0]:=0;

F[1]:=1;

for i from 0 to n-2 do

F[i+2]:=F[i+1]+F[i];

od;10 Doubles bouclesfor(matrices) :matricematrice triangulaire superieure

M:=matrix(n,n);

for i from 1 to n do for j from 1 to n do

M[i,j]:= 1/(i+j)

od od; evalm(M); 2 6

641=2 1=3 1=4

1=3 1=4 1=5

1=4 1=5 1=63

7

75M:=matrix(n,n,0);

for i from 1 to n do for j from i to n do

M[i,j]:= 1/(i+j)

od od; evalm(M); 2 6

641=2 1=3 1=4

0 1=4 1=5

0 0 1=63

7

75C'est aussi avec une boucle for que vous calculerez les sommes partielles d'uneserie,

d'uneserie de fonctions(voir la raison exposee dans le paragraphe sur lesseries de

Fourier(5-6));

~boucle while ... do ... od;

La syntaxe est :

> while < cond > do < instr > > od; Oucond(pour condition ) est une expressionbooleenneetinst(pour instructions) est une suite d'instructions. La condition est evaluee au moins une fois, en debut de boucle : si elle prend la v aleurfaux(oufalse), les instructions (instr ) ne sont pas executees, le programme poursuit apres la boucle; si elle prend la v aleurvrai(outrue), les instructions sont executees et le programme reprend en debut de boucle (ou la condition est reevaluee); Elle est de la formeC(x1;x2;:::;xn) et depend du contenu de variables presentes dans le programme; elle est donc susceptible d'^etre modiees par les instructions ducorpsde la boucle. Theoreme 1condition d'arr^et dans une boucle while. Considerons une suite d'instructions contenant une bouclewhilede conditionC(x1;x2;:::;xn): A la sortie de la b ouclela c onditionest toujours fausse (la c onditiond'arr ^etest la negation deC(x1;x2;:::;xn)); Si C(x1;x2;:::;xn)est vraie a l'entree de la boucle, et si les instructions qui suivent ne changent pas sa valeur, alors la boucle ne termine pas (on dit que le programme boucle indeniment); 11

Exercice 1

Soit (Sn)ndenie par

S n=nX k=11k 1.

Mon trerque ( Sn)na pour limite +1:

2. D eterminerun programme (ou une fonction) qui d eterminele plus p etiten tiern, tel queSn5: 3. Calculer le nom bred'op erations(additions, divisions) des trois programmes suiv ants: S:=1; n:=1; while S < 5 do n:=n+1;

S:=S+1/n;

od; n;S:=1; n:=1; while S < 5 do n:=n+1; S:=0; for i from 1 to n do

S:=S+1/i;

od; od; n;S:=n->sum(1/k,k=1..n); k:=1; while S(k) < 5 do k:=k+1; od; k;Reponse Si N est l'entier cherche, le programme de gauche retourne N en N iterations co^utant chacune une addition et une division. Par contre, le programme de la colonne centrale, qui recalculeSna chaque iteration dans la bouclewhile, realise

1 + 2 + 3 +:::+N=N(N+ 1)2

additions et divisions. Il revient au m^eme de remplacer le calcul deSnpar un appel asum(1/k,k=1..n)comme dans l'exemple de droite, l'erreur est identique bien que (legerement) cachee, puisque chaque appel a la fonctionsumdeveloppe ses propres addi- tions et multiplications (k et k pour S(k)).

Exercice 2division euclidienne des entiers

Pour calculer les entiersqetrtels quea=bq+ravec 0r < bvous n'imaginez tout de m^eme pas que votre processeur utilise des multiplications? Voila ce qu'il fait : on part de

a= 243 on retrancheb= 13 jusqu'a obtenir un nombrer < b:2432302172041911781651521391261131008774614835229

Programmez une fonction DE :=proc(a,b) qui retourne q et r lorsque a et b sont des entiersquotesdbs_dbs13.pdfusesText_19