1 / 46

Calcul numérique (avec Maple)

Calcul numérique (avec Maple). Maplesoft http://www.maplesoft.com/ Maple version 9.5. Le logiciel de calcul formel Maple. Sources utilisées pour ce cours : Raphaël Giromini http://www.giromini.org/maple/index.html M. Chare (cours-tds années précédant 2006).

shamus
Télécharger la présentation

Calcul numérique (avec Maple)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Calcul numérique(avec Maple) Maplesoft http://www.maplesoft.com/ Maple version 9.5

  2. Le logiciel de calcul formel Maple • Sources utilisées pour ce cours : • Raphaël Giromini http://www.giromini.org/maple/index.html • M. Chare (cours-tds années précédant 2006). • José-Marconi Rodrigues (tps précédant 2006).

  3. Brainstorming …qu’a t-on vu la dernière fois ?

  4. Brainstorming …qu’a t-on vu la dernière fois ? • ; : % + - * ^ / # := • evalf • convert • sin cos ln exp • floor ceil round trunc • isprime ithprime • restart unassign • if while for seq sum product

  5. 5 3 Calculs numériques • Effectuer une évaluation numérique d’une expression à valeur dans  : evalf >5/3; evalf(%); 1.666666667

  6. Calculs numériques • Effectuer une évaluation numérique d’une expression à valeur dans les booléens : evalb >2=3; evalb(%); 2=3 false

  7. 5 3 Calculs numériques • « type » d’une expression numérique : • Cela peut être un entier ou un rationnel. Ex:2, • Cela peut être un réel. Ex: 3.141592654, .8 • Cela peut être un imaginaire. Ex: 2*I, 2+4*I, • Cela peut être un booléen : Ex: true, false • Cela peut être un caractère : Ex: ‘c’, ‘0’ evalf evalb Remarque : I est le nombre imaginaire (noté i en maths) ; On a donc en Maple : I2 = -1

  8. Exercice • Évaluer le programme suivant : >restart; evalf(Pi); ln(2); evalf(%); exp(1); evalf(%); 1./2 + 3/10;

  9. Exercice • Évaluer le programme suivant : >restart; evalf(Pi); ln(2); evalf(%); exp(1); evalf(%); 1./2 + 3/10; 3.141592654 ln(2) .6931471806 e .8000000000

  10. Calculs numériques • Le nombre de chiffres après la virgule lors de l’évaluation d’un réel peut être fixé par la commande Digits. >sin(0.2); Digits:=3; sin(0.2); .1986693308 Digits:=3; .199

  11. Calcul symbolique • Développement d’une expression : expand() • Factorisation d’une expression : factor() • Simplification d’une expression : simplify() >(1+x)^2; expand(%); factor(%); cos(x)^2+sin(x)^2; simplify(%); (1+x)2 1+2x+x2 (1+x)2 cos(x)2+sin(x)2 1

  12. Représentations graphiques • Maple permet de tracer n’importe quelle fonction, aussi bien sur le plan que dans l’espace via l’utilisation des commandes : • plot • plot3d >plot(x^2, x=-5..5); >plot3d(x*sin(y), x=-5..5, y=-5..5); *

  13. Sortie écran (affichage de texte à l’écran) > "il y a ",10," erreurs"; # ;print("il y a ",10," erreurs"): # print "il y a ",10," erreurs" "il y a ",10," erreurs" > print("coucou"): print('``'): #Retour à la ligneprint("coucou"): "coucou" "coucou"

  14. Sortie écran (affichage de texte à l’écran) > "il y a ",10," erreurs"; # ;print("il y a ",10," erreurs"): # printprintf("il y a %f erreurs", 10): # printf"il y a ",10," erreurs" "il y a ",10," erreurs"il y a 10.000000 erreurs > printf("coucou\n"): #coucou avec retour à la ligne printf("\n"): #Retour à la ligneprintf("coucou\n"): #coucou avec retour à la ligne coucou coucou

  15. Chapitre 2 : Arithmétique

  16. Nombres complexes • Commandes spécifiques aux calculs sur les complexes : • Partie réel : Re • Partie imaginaire : Im • Module d’un complexe : abs • Argument : argument • Conjugué : conjugate

  17. 3 2 Nombres complexes • Exemple : >z:=2+3*I; Re(z); Im(z); argument(z); conjugate(z); unassign('z'); z := 2+3I 2 3 arctan( ) 2-3I

  18. Représentation usuelle et représentation polaire • Un complexe peut également être représenté sous la forme e ou  est le module et  l’argument grâce à la commande polar > polar (2, Pi/4); evalc(%); > convert(sqrt(2)+sqrt(2)*I, polar);

  19. Exercice • Donnez les commandes pour : • passer en polaire l’expression z= 6+i • donner les parties réelle et imaginaire de z • donner le module et l’argument de z.

  20. Exercice

  21. Calcul modulaire • Calcul du reste de la division de n par m : • mod • Exemple : > 3+22 mod 4; 1 Other modular arithmetic operations are stated in their natural form: i+j mod m; i-j mod m; i*j mod m; j^(-1) mod m; i/j mod m;

  22. Pgcd, ppcm • Le Plus Grand Commun Diviseur (pgcd) de plusieurs nombres entiers se calcule à l’aide de la commande igcd (« Integer Greater Common Divisor »). • Le Plus Petit Commun Multiple (ppcm) de plusieurs nombres entiers se calcule à l’aide de la commande ilcm (« Integer Lower Common Multiple »).

  23. Pgcd, ppcm > igcd(24,4); igcd(6160,8372,56); 4 28 > ilcm(38,341);ilcm(6,9,18); 12958 18

  24. Nombres premiers • Un nombre premier est un nombre entier dont les diviseurs positifs sont 1 et lui-même. • isprime indique si un nombre est premier ; • ithprime donne le ième nombre premier ; • nextprime donne le plus petit nombre premier qui succède un nombre donné. > isprime(12); ithprime(5); nextprime(200); false 11 211

  25. Factorisation en nombre premier • La commande ifactor permet de factoriser des nombres entiers en facteurs premiers . > ifactor(2850375285); (3)3(5)(631)(33461) > expand(%); 2850375285

  26. Exercice • Donner les instructions Maple pour répondre aux questions. Soit a = 1049427 et b = 17493; • Quel est le pgcd de a et b ? • Ce pgcd est-il premier ? • Décomposer a et b en nombres premiers • Donner le ppcm de a et b • Donner le 500ème nombre premier • Quel est le nombre premier qui succède à 4000 ?

  27. Calculs sur les polynômes • Illustration du calcul symbolique avec les polynômes : > P1:= 3 * x^2 + 4 * x + 7; # On assigne à P1 un polynôme. P2:= x^3 -1; # On assigne à P2 un polynôme. P1^2; # On calcul le carré de P1 P1/P2; # Division de P1 par P2 eval(%, x=2); # Evaluation de P1/P2 pour x=2 eval(%%, x=-4); # Evaluation de P1/P2 pour x=-4 evalf(%); # Evaluation numérique de P1/P2 pour x=-4

  28. Calcul symbolique • Développement d’une expression : expand() • Factorisation d’une expression : factor() • Simplification d’une expression : simplify() >(1+x)^2; expand(%); factor(%); cos(x)^2+sin(x)^2; simplify(%); (1+x)2 1+2x+x2 (1+x)2 cos(x)2+sin(x)2 1

  29. La commande collect • La commande collect permet de grouper les termes d’une expression suivant une variable donnée : > collect(a*x^3 + y*x -(x^2+1)*(y-2) + 4, x); collect(a*x^3 + y*x -(x^2+1)*(y-2) + 4, y); ax3+(-y+2)x2+yx+6-y (x-x2-1)y+ax3+2x2+6 • On peut factoriser en indiquant un ordre : > collect(a*x^3 + y*x -(x^2+1)*(y-2) + 4, [x,y]); collect(a*x^3 + y*x -(x^2+1)*(y-2) + 4, [y,x]); ax3+(-y+2)x2+yx+6-y (x-x2-1)y+ax3+2x2+6

  30. La commande normal • La commande normal permet de mettre des fractions de polynômes au même dénominateur :

  31. La commande sort • La commande sort permet de classer les coefficients d’un polynôme suivant la valeur croissante des puissances. > poly:=x + x^2 - x^3 - x^3 + 7 - x^6 + x^22: sort(poly); x22-x6-2x3+x2+x+7 > x*y^3 + 2*x^2*y^5 + 4*x*y^4 +y^3: sort(%,[x,y]); 2x2y5+4xy4+xy3+y3

  32. Degrés et coefficients • La commande degree permet d’obtenir le degré d’un polynôme. Si le polynôme a plusieurs variables, on peut préciser suivant quelles variables on veut le degré. Si l’on ne précise pas la variable, on obtient le degré total de l’expression. > Q:=4*y^2*x^4 + 12*y^5 + 7*x^2*y^2 + 7; degree(Q,x); degree(Q,y); degree(Q); Q := 4y2x4 +12y5 +7x2y2 +7 4 5 6

  33. Degrés et coefficients • La commande coeff permet d’obtenir la valeur d’un coefficient du polynôme • La commande lcoeff permet d’obtenir la valeur du coefficient du terme de plus haut degré. > Q:=4*y^2*x^4 + 12*y^5 + 7*x^2*y^2 + 7; coeff(Q, x^4); coeff(Q, x^3); lcoeff(Q); Q := 4y2x4 +12y5 +7x2y2 +7 4y2 0 12

  34. Exercice • Donner les instructions Maple pour répondre à la question. • Factoriser les polynômes suivants : P1 = x4 -1 et P2 = x3 +x4 -5x -5

  35. Exercice

  36. Exercice • Donner les instructions Maple pour répondre à la question. poly:=(x^2-a)*(x*y+b)*(x^4-y^4)*(3*x+z)*(z-x); • Développez, simplifiez et ordonnez suivant x, puis suivant y et enfin suivant z.

  37. Exercice

  38. Exercice • Donner les instructions Maple pour répondre aux questions. poly:=(x^2-a)*(x*y+b)*(x^4-y^4)*(3*x+z)*(z-x); • Développez, simplifiez et ordonnez suivant x, puis suivant y et enfin suivant z. • Donnez la valeur du coefficient x5 et du coefficient y3

  39. Exercice

  40. Équations • Maple sait résoudre presque n’importe quelle équation. La principale commande pour résoudre une équation est solve : > eqn1:= x^2 -4 = 0; solve(eqn1, x); solve(eqn1, {x}); eqn1 := x2-4 = 0 2, -2 {x = 2}, {x = -2} Attention à bien spécifier quelles sont les inconnues

  41. Système d’équations

  42. Pas de solution Intervalle Solutions numériques • La commande fsolve donne les solutions numériques mais uniquement réelles… > solve(x^2+1=0); fsolve(x^2+1=0); fsolve(x^2+1=0, x, complex); I, -I -1.000000000*I, 1.*I > fsolve(x^2-1=0); fsolve(x^2-1=0, x, 0..infinity); -1.000000000, 1. 1.

  43. Solutions numériques • La commande isolve permet de donner les solutions entières. • La commande msolve(…, m) permet de donner les solutions modulo un certain entier m. > isolve(5*x-3*y=4); msolve({x+7*y=1, 3*x+2*y=2}, 17); {y = 2+5_Z1, x = 2+3_Z1} {x = 6, y = 9} _Z1, _Z2, ... : are variables that have integer values and occur in the solution > 6+7*9 mod 17; # vaut 1 3*6+2*9 mod 17; # vaut 2

  44. Exercice • Donner les instructions Maple pour répondre aux questions. • Résoudre le système suivant : x + y + 2z = 22x + 3y + z = 4x - y + 5z = 7 • Déterminer toute les solutions strictement positives de l’équation tan(x) - 3x = 0

  45. Exercice

More Related