calcul numérique (avec maple)

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

Upload: shamus

Post on 18-Mar-2016

27 views

Category:

Documents


2 download

DESCRIPTION

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). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Calcul numérique (avec Maple)

Calcul numérique(avec Maple)

Maplesofthttp://www.maplesoft.com/

Maple version 9.5

Page 2: Calcul numérique (avec Maple)

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).

Page 3: Calcul numérique (avec Maple)

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

Page 4: Calcul numérique (avec Maple)

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

Page 5: Calcul numérique (avec Maple)

Calculs numériques

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

53

1.666666667

Page 6: Calcul numérique (avec Maple)

Calculs numériques

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

2=3false

Page 7: Calcul numérique (avec Maple)

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’

53

evalf

evalb

Remarque : I est le nombre imaginaire (noté i en maths) ;On a donc en Maple : I2 = -1

Page 8: Calcul numérique (avec Maple)

Exercice

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

Page 9: Calcul numérique (avec Maple)

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

Page 10: Calcul numérique (avec Maple)

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

Page 11: Calcul numérique (avec Maple)

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

Page 12: Calcul numérique (avec Maple)

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);

Page 13: Calcul numérique (avec Maple)

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 ligne

print("coucou"):"coucou"

"coucou"

Page 14: Calcul numérique (avec Maple)

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 ligne

printf("coucou\n"): #coucou avec retour à la lignecoucou

coucou

Page 15: Calcul numérique (avec Maple)

Chapitre 2 : Arithmétique

Page 16: Calcul numérique (avec Maple)

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

Page 17: Calcul numérique (avec Maple)

Nombres complexes

• Exemple :>z:=2+3*I; Re(z); Im(z); argument(z); conjugate(z); unassign('z');

z := 2+3I 2 3arctan( )

2-3I

32

Page 18: Calcul numérique (avec Maple)

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);

Page 19: Calcul numérique (avec Maple)

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.

Page 20: Calcul numérique (avec Maple)

Exercice

Page 21: Calcul numérique (avec Maple)

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;

Page 22: Calcul numérique (avec Maple)

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 »).

Page 23: Calcul numérique (avec Maple)

Pgcd, ppcm> igcd(24,4); igcd(6160,8372,56);

4 28

> ilcm(38,341);ilcm(6,9,18); 12958

18

Page 24: Calcul numérique (avec Maple)

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);false11

211

Page 25: Calcul numérique (avec Maple)

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

Page 26: Calcul numérique (avec Maple)

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 ?

Page 27: Calcul numérique (avec Maple)
Page 28: Calcul numérique (avec Maple)

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

Page 29: Calcul numérique (avec Maple)

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

Page 30: Calcul numérique (avec Maple)

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

Page 31: Calcul numérique (avec Maple)

La commande normal• La commande normal permet de mettre des

fractions de polynômes au même dénominateur :

Page 32: Calcul numérique (avec Maple)

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

Page 33: Calcul numérique (avec Maple)

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

Page 34: Calcul numérique (avec Maple)

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

012

Page 35: Calcul numérique (avec Maple)

Exercice

• Donner les instructions Maple pour répondre à la question. – Factoriser les polynômes suivants :

P1 = x4 -1et P2 = x3 +x4 -5x -5

Page 36: Calcul numérique (avec Maple)

Exercice

Page 37: Calcul numérique (avec Maple)

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.

Page 38: Calcul numérique (avec Maple)

Exercice

Page 39: Calcul numérique (avec Maple)

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

Page 40: Calcul numérique (avec Maple)

Exercice

Page 41: Calcul numérique (avec Maple)

É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

Page 42: Calcul numérique (avec Maple)

Système d’équations

Page 43: Calcul numérique (avec Maple)

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.

Pas de solution

Intervalle

Page 44: Calcul numérique (avec Maple)

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

Page 45: Calcul numérique (avec Maple)

Exercice

• Donner les instructions Maple pour répondre aux questions. – Résoudre le système suivant : x + y + 2z = 2

2x + 3y + z = 4x - y + 5z = 7

– Déterminer toute les solutions strictement positives de l’équation tan(x) - 3x = 0

Page 46: Calcul numérique (avec Maple)

Exercice