0% ont trouvé ce document utile (0 vote)
71 vues27 pages

Matlab

Transféré par

mohamed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
71 vues27 pages

Matlab

Transféré par

mohamed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Introduction au langage MATLAB LANGAGES DE CALCULS SCIENTIFIQUE, 1.1. RAPPEL SUR LE Un langage de calcul scientifique est un langage de programmation destiné & étre utilisé par la communité scienti- fique dans des calcul scientifiques complexes, Bt cette finalité, i est riche en terme fonctions et de bibliothécues facilitant In tache d’un programmeur dans un domaine de recherche, qui n’a pas nécessairement des compétences de programmation anvancées. On peut classor les Iangnges de calculs scientifiques en langnges compilé et Inn- gages interprité, Dans un langage de programmation interpré4é un programme supplémentaire (Iinterpréteut) est nécessaire, celui-ci vn générer V'exGeutable des instructions ct les exéouter au fur et & mesure de I'exééeution du programme, donc on n'a pas dans ce eas un code exéeutable complet, et & chaque fois on u besoin du code source initiale pour reéxécuter le programme. Par contre un langage compilé va traduire (compilé) le programme en son intégralité vers un code exécutable qui peut étze utilisé ultérierment sans avoir besoin du code source initiale. 11.1. Langages compilés 1 titre d’explication quelques langages comiplés : ‘On peut 1. Fortran (FORmula TRANslator) est un langage compilé developpé par IBM vers 1954, est le plus ancien lan- gage de programmation de haut niveau, c’est 1m langage de programmation destiné principalement pour le caleul scientifique. 2, Langage C 3. Langage C++ dete. 1.1.2, Langages interprétés Iy a aussi une varité de langages interprétés dont : 1. Matlab C'est le langage qu’on va étudier le Jong de ce cours. 2. Le langage R est un langage interprété trés adaptée au calcul scientifique et & la fouille de données. 11 posstde une large collection d’outils statistiques et graphiques, relayée par une communantée trés active. R est a la fois un logiciel de statistique et un langage de progranmation. Rest un logiciel de traitement statistique des données. 3, Scilab (Scientific Laboratory) est un logiciel libre de calcul numérique multi-plateforme fournissant un environne- ment de caleul pour des applications scientifiques. Il posséde un langage de programmation orienté calcul numérique de haut niveau. Il peut étre utilisé pour le traitement du signal, analyse statistique, le traitement @’images, la modélisation et la simulation. Scilab est disponible pour Windows, Mac OS X, GNU/Linux. 1.1.8. Le langage Matlab MATLAB est un environnement de calcul numérique matricie, i! est basé sur le principe de matrice. Tous les types dans Matlab sont & Ia base des matrices, un scalaire est une matrice de dimension 1 x 1, un vecteur est tune matrice de 1x n oun x 1. Ce principe est primordial & comprendre pour pouvoir travailler avec Matlab, Matlab exée une 1.1.5. Affectation Le aymboe Wffectation de valu A wwe variate est te caracve Exemplo paeu2a4a) aei234 np ckdessns montre ben que dans MATLAB les variable rout ni elasdes nl types! v Caractéres el chaines de earactéres ‘salut I consid let earactires comme 116. (On écrit ts enctres ot ls chiaines do carneties, entre apostrophes: Ae Cines de encaetéves de fongueu uot identife chaines de caractres et liste de caractéres Exemple 4e°D est identique a la chaine dle earactixes ('abede’) = de carnct'eres (¥0? °b! 7e! Le tabh 1 9e!], Vabeder): > Dat ob! Ie mete Minne ‘abode; (abe? *a'] eit dentique A *abede? >> Dave! tae) abcde Cet exemple donne un idée du sale des erochets [ ]. Les crochets sont le symbole de Topérateur de coneaténation + - concaténation ‘en line" lorsque le séparatour est un espace ou une virgule; {-vingule comme dans les tableaux de nombres (lest + concaténation "en colonne" lorsque le séparatour est ni lors néoostalre que les listes ce nombres ou de earactéres ainsi concaténées possédent le méme nombre d’ééments). Exemple Lo tableau de caractéves [’a? 'b? *c? a? *@"] est dontique A la chaines de caractdnes CYabeda’] + >> Vabe! ; tabed’] Error using verteat Dinensions of matrices being concatenated are not consistent. me ligne plusieurs expressions A In condition. Remarque : L'exemple précédlent montre que Yon peut Gerize su lam de les séparer par une virgule ou un point-virgule, La différence entre ces deux séparateurs est que le résultat de virgule n'est pas affich, ‘Yévaluation ePune expression sive dn p On peut Ggnlement définir sans dificulté des matvices de caractéres. I est posible de convertir im réel en une lniue de caractéres qui représente son Geriture en Iase 10. Ainsi de carnetires "1.32! ‘num2str (1.32) renvole In chai + str2aun est lopération inverse de In commnnele mun2str(1 .32) ban umes ve in wonabre 1 owe Fer nen one rede erties: TO Pt Elle soit for et aexzaus respective = La commande sprint Rcprenuenent, lo eonnoande secant pamel J Tes commandes nun2et aagints type. Ces deux conmandes genéralisent thee pratigues. Voici wn exemple explcatf ge ritustretion de 1utdiseation de sprinet- clear r= 1.23; 2s) fe="Bonjour? + etre rers (iz vent XE, a vent Ha arc vent Te" 1% 8); (ddep(chaine) - 4 mivetration de L’uti2isation de sprint: Pireeypa isis) = 3.8351 femeie(cininey oe); HC GKE TG MS?) 11.7, Entrees et sorties de sani des valeurs de variables “fa commande énpat permet de demander a Puilsteurd execution de Matlab pendant wm temps determi ‘que pause of les reactive c, ef. pause. La forme «En commande pause permet de stopper! péeiale pause off desactive Tes panne tan “conn ave pomet de sesvegudar conten vals cc abs que Ir nom sacar er ei tp commande ond, a ee srl. {La commande fornat permet de choir ent sie fornat permet de chosir entre plusiurs mades d’afichage (sans interférer avec le type des valen ons tnumériquesafichées qui est toujours le type dowbe) 1.1.8. Opérateurs logiques aspires [amyl = | Binet NON Topdrateur “ox” | a Tiupérateur gal” > | supériour stietement & |< | faférieur st ferieur strictemeut fe el Geos sd Mab 11.9. Formats Waffichage des nombres Torsat stort Teal 30 eae a ferat plort © ent & es — Terr [Esat i al ce Sater Tosure tang —ietane 46 ei SUnSeaOSSOTITOT forse Bez Team OHTA Tors bak TG Hae dee dT Tat 1. R forest rat Factors BT orsse + [wile ov apne pure er FORT z fn ane LL ts pole nome nto oe nt mitt — 1.1.10. Quelques commandes age inte Celanese = See T aoe AE — aoe | dora Galan ae par aT ne [ patie [amps CPU dapus eIncoeat de Matlab ntegralite ope précision des flottants Tou j Tombre imaginaire complexe tt Tat Tombs fi pe 55 Z Tat [parte abe fasts ber B) a Pi valeur de . anima | pa ad mre ee REE po sp eezeis | ps pe mre re Hote psi a ns Balai cca Lanes Sete ‘1.1.11. Quelques fonctions On « pus des commande Mati comme tout langage de clu sentifque ct riche ave son bibliothiqus de 1.8 fonction mathématiques, ces fonctions sont offertes pour implémenté des calculs puissant avec un miniman de code, yee Alors et pou demande tout uleateur de Matis de maitrasr Viplementaon slgothmeque de tutes Matle les fonction mathématique (A savoir, sinus, cosinus, expenentielle,.....) De ee 1 exp) + exponent de, par exemple oa Sela >> x ret de > ep) bat noc ane = 149.4122 2 20g(3) logarithm npn dx, par exemple = EE? >> Log(t) ATE Baas jan jx 5, 20g10(x):lgaitme n bse 10d x, ar exemple: >> logi0(2) ans = 0.2010 4.7m: x In puissance n, fh, nqrt dx) :rncine carrée de 2 6, abe (x) + valeur absolue de a 7, eign(x) Inia >Oet-Tna<0,et Osis 0, 8, sin(x) : sinus de a 9, con (x) : cosinus de x 10, tan (x) : tangente de 11, round (x) ; Affiche Parrondi d'un nombre 12, floor (x) : Arrondissement vers -1, par exemple > floor (6.2) >> floor (6.7) ane = 6 >> floor (-B.7) ans = ~6 13, ce41 (x) : fait exuctement Vinverse de floor(x), par exemple : >> coil(-5.7) ans = -6 >> ceil (-5.2) \ >> ceil(5.2) ans « 6 14, factor(n) ; décomposition en facteurs premiers den. 15, >> [d,u,v]*ged (23466, 987654) : trouver u, v tels que : pgcd(23456, 987654) = 23456u + 987654v. tableau dont les éléments sont définis par aj; + bi; A et B méme format At+cz=ctA tableau dont les éléments sont définis par aig +e tableau dont les éléments sont définis par ai; — biz A ct B méme format > @ tableau dont les éléments sont définis par ai; — c cS tableau dont les éléments sont définis par c — a;; A*B tableau résultant du produit m&triciel de A par B nb col. A = nb lign. B A .*B produit matriciel de A par B élément par élément A et B méme format A * c =c*A tableau dont les éléments sont définis par a;; + ¢ AnneZ puissance n*™* de A A matrice carrée, inversible sin < 0 A.nneZz puissance n®¢ de A élément par élément A.7B tableau dont les éléments ont pour valeur (ai;)" A et B méme format QD transposé-conjuguée du tableau A, a;; = Gj me) transposé-conjuguée du tableau A, a;j = aj; si tous les éléments de A sont réels, A.’ = A B/A B/A A./B tableau X solution de Péquation matricielle XA = B si A est inversible X = BA? tableau X solution de l’équation matricielle AX = B si A est inversible X = A1B tableau dont les éléments ont pour valeur a;;/bj; nb col, A = nb col. B nb lign. A = nb lign. B A et B méme format A.\B tableau dont les éléments ont pour valeur b,;/a;; A.\B=B./A A et B méme format A/c tableau dont les éléments ont pour valeur ai;/c trace(A) trace de Ja matric’ *" poly(A) polyndme caractéristique de A eA 2 D=eig(A) Tenvoie le vecteur colonne des valeurs propre —— eS Tbl=eig@) Gagonalise A= P+ Dx P= avec D diagonale, renvoie Tes valeurs POW et les vecteurs propres de A (eigenvalues, eigenvectors) — mull (A) Tenvoie un bon du noyau "null space" en anglais. tril (A) partie triangulaire inférieure (ower) de A tril @,-1) idem sans Ja diagonale, cf. help tril triu(A) partie triangulaire supérieure (uper) de A tril (+i) idem sans la diagonale, of. help triu diag (A) tenvoie Ia diagonale de A diag (V) jmatrice diagonale dont la diagonale est le vecteur V Dikdiag (eye(3,3) ,A) matrice block diagonale de blocks eye(3,3) et A norm(V,p) norme du vecteur V norm(Wsp) = Shey [val )/? norm(V) norme euclidienne du vecteur V; norm(V)=norm(V, 2) norm(V, inf) norme infinie du vecteur V; norm(V,p) = max, |v) atrice de taille n 7 m donk tous sye(a a) imutrice de taille n 7 1m aveg des 1 sur In dinggnule Seren (nn) ‘mniriee deine 1 7 ra Hem los erent vander(V) matrice de Vandermonde d’ortire 1 tht) pall (a) imabrice de Hilbert dordre n SELIG) inverse de In mintrice de magic(n) susie xrde egate donde n pascal (n) imatrice de ordre m. rand (n) matrice aléatoire carrée ordre n dont len élément entre 0 et 1 welon Ta Vol wnllorme randn(n) | matrice aléatoire carrée Tordre n dont. les éléments entre 0 et 1 zelon In Ich gaumeienne ¥ilicinson(n) ratrioe de Wilkinson Pordre toeplitz(V) Thatrico de Toeplitz. aymétrique dont Ia premiere ligne cmt le vecteur 7 Modélisation Mathémaric iversitaire 20% i ologie ‘année Universit nologi Eeole Supérieure de Tech! DAWM, Semestre 3 [email protected] TP1 ravaux pratiques -1,4)7 ry = (10,-1;3)", w= € 5 Bt Ontarta ny p et orlon veccort musts © = (2s) 2)?0 2 — Oia 1. Calenler $f a, 24 — v + 5, 24 — a+ 5 [fy [1940 Lo 2, Déterminer Pengle formé par les vecteurs v et B et C tes matrices suivantes Exercice 2. On note espe 5 i \) (72 Zo a3 e=( oe 1. Caller les matrices AB, BA et ABT. 2, Caleuler les matrices D = I~ BB. 53. Calculer les déterminants des matricee A, B, C, D et B= AAT. 4. Calculer les valeurs propres de la metrice B. 5. Déterminer les vecteurs propres et Jet valeurs propres de la matrice A. 1 A=(-4 8 Que font les instructions suivantes Exercice 3. On pose 3h; AB; AB: cost); exp): vel, 2, 4, 7 AGD=AG) + 0.01; B(v)=abe(B(¥)); Exercice 4. On pose | Calealer AP, pour n 2 2 2 0,75 0 025 0,375 0 ~0.125 aaa i olla, 0 05 0 025 0 075 0125 0 0.375 12 8)r« - Que ant lita 4g AP, 10 ” scole Supérieure de Techno} DAWM, Semestre 3 "0l0aie aslimani@ump, Modélisation Mathématique p-tema Année Universitaire 2029-2024 1, Constrnive To at Petmettantdavotr de nombre do B& 28 par pas da 3. {un vector qui ‘ui commence par 29, » pis aller en arsiee pnt pas 1 Vélément 10. 100 valeurs comprise entre 0 et mais doit étre expacé réguiérement mera 15 nombres génirésaléaoirement entre 1 et 2 Exercice 6, 1. Définir a matsice F suivante 2. Extraire V'sément Fs, 3. Quiobtienton avee les instructions F(1y FG), FO, =). 16 4 Quelle instruction permet dexteaze Ia matsie ( 5 7} de ta matriceF 92 18S 5. A Yaide des fonctions ei tt construire In mses G € Ms(R) dine par Gy ={ $4" 153 ot Act B sont les matrices définies dana Vexercice précfdent. Exercice 7. On reprend les matrice A et B définies précédemment, 1. Que vaut A+B? 247 1;2;8). 1 2. Dini vtous xt ( ° ) an (Que watt AP? x1?x2"? Que vant AVB? Avi? Avx2? xiex2? x2ex1? Justifier! 5. Quelle est la difference entre AeB et A.B? (Quo ft Matlab avec les expressions x1.#x2 et x1.x2? 7 Quelle est Ia diférence entre A°2 ot &.-27 Que vaut sin(a)? Quelle est Ia difference entre exp(A) ot expa(a) ? 10. Résoucire le systdme linéaire Ax = xi, Exercice 8. On considére a fonction Matlab suivante function # = fonc(p,a) % Entree : p = vectour, a = natrice carrée % Sortie : s = matrice de dinension aize(a) 5 = p(t)*onea(eize(a)); fork = 1. Créer cette fonction, ; 2, Quel est le résultat de Pappel fone((1,-4,3) 5) ? Expliquer. 3. Méme question avec V'instruction fone({1,~4,3], [0,1 ;2,3]). 4, ae sate p représente Te vectenr des coefficients d'un polyndme, que ealenle la fonction fone et quel ext algorithine wtilisé? 7 —_ P _—______—___ Togrammation sous Matlab a 2.1, LES M-FILES 2.1.1. Scripts Un script est une séquence d'expressions ou de commandes. Un script peut se développer sur une ow plusieure lignes. Les différentes expressions ou commands doivent ére séparées par une virgule, un point-virgule ov par le symbole de saut de ligne consitué de trois points .. suivis de (le réle des trois points et 'iahiber Je mécanisme d’évaluation lore d'un passage a line). Comme pour une expression unique, la feppe de Aéclenche le processus d'évalustion. Les expressions sont évaluées dans leur ordre q’écriture. Senle la valeur des expressions stivie une virgule ou din saut de ligne ert afiché, celle des expressions suivies d'un pointvirmle, ne Pest pas. Les mefles peuvent étre erées par n'importe quel éditeur. Dans les versions récentes de MATLAB il existe un petit <éditeurintégré que 'on peut appeler& partir du menu file ou & partir de la barre de menu de la fenétre de command ‘Commentaires : Les lignes de commentaires sont précédées du carnctire %. Exemple : Dans In fenétre de I'éditeur tapes Jes lignes suivants : % script - esse. = as 5 be pis cnard Sauves le fichier dans le repertoire de travail sous le nom de essaim. Pour exécvter le script content dans un m-file fl sufit de taper le nom de ce mefle dans la fenétre de commande suivi de . Bxemple : Pour exéeuter Je script précédent, on tape essai et on obtient : >> essat c= 1.5708 Ja fin des dewx premiéres lignes du script a neutralisé afichage des valeurs de ‘La présence d’un point-virgule; etd, Modélisation Mau ‘Année Universitaire 26, Exemple clear ‘erend( 1,100); oyeanermean (x) of srage.n. Une exéevtion de ce programme d ple de donner ice fichier le nom tage.» >> tirage oyenne = 0.6159 lors eréer de telles 2.1.2 Fonetions a premiére ligne 6m pent al (On a parfois (souvent) besoin de fonctions qui ne sont pes fournies| pe aa fc dn cr adc lap de ie fag ie le ft prcsitants, (hora le lignes de commenti) due fonctica doit imperatvenent voi In > MaFonction(iniuti, input2, inpit3, function [outputi, Joutput2, outputs, Examples 1. Cres le fichier suivant en le nommant Fim : fuetion y = FAG) ye se; ona pls recut les instructions suvastes FLOP); £05; 608) (2./Ct4x."2)); 2 Ponetion produit function [ree)eprodust(a,) ree = arb; end 5, Dany Zeerple qu sult, on dit une fenction gu calle le reso otf quotient del division cueisenne de a ‘ar b. Les lignes qui suivent doivent étxe enregctrées dans tn fichier de not evelide a, function [r,q]meuclide(a,b) 9 Alocr(a./b) = abe(a) ~ ade(beq) ond 2.2. LES STRUCTURES CONDITIONNELLES 22.1. Winstruction if if condstsons instructions ena ‘Boole Supérieure de Technologie DAWM, Semestre 3 [email protected] i yp” Mo, vlede DAWM, Semestre < '“°hnolopig “stimani@ump ge mg Lex Instrtetiony Aierente de poy ext Af condi tion, instructions tees ey Me irlante possible « eC ———— ies ls ‘conditions som Oat és, psp (lexéentée "6% 5 Jes ‘conditiony? itions sont tes) instructions (exéet6es 6 es = kes conditions ne ont pas wi Exemple : Berire time fonetion qui calle e tutor an enter nature function pefact(n if net ea pat; else Preface (1) ta Bxemple : Le progra 0.5; verand st up aisp(piie?) aiepC face") end suivant simul fe ls done pee. Année Universitaire 202 Exemple : Faire un programme sous MATLAB qui résout le problime sulvant yes sz> Es >> EPS » 2.22040-16 a= 52 Tastes: (EPS + 3) x 1 provoque a sorte de a boule for ln S2itmeivératon Srample Créer une fonction, srouverindice.n, pour chercher Vodice de la premiére occurrence de la racine ‘née one yale dane un ible, Sa racine ead net pas ade iene vote NaN. function idx = trouverindice(n,) sae = Heli; ita> etude : erode sbciregie Sen nn F Tectia ane 2.006 fs veele [1.53.4 9) (16349) Modélisation Mathématique 24 née Univ ole Supérieure de Technologie année U DAWM, Semestre 3 [email protected] Travaux pratiques : TP2 Exercice 1. ra un pouvean vecteur B contenant 1, Bere un spt sous MATLAB qu'on ft donne un vector At retourmere un nouvend wesient 2 EesSod es cubes ce vombres posits dans A et si un nombre ext négatif, i remplace P Je volume et P'sire d’un eylindre 2, Berne un seipt sous MATLAB nominé eylsndre.n qui permet de caleuler le volume eI de rayon Ret de brstent h met de déterminer Ia valeur de epe (la Exercice 2. Kerire un script sous MATLAB nommé epeslen-n qui pa 1, _- 3.1, FONCTIONS D’UNE VARIABLE 8.1.1. Recherche de minimum a tétudier écrite sous forme fmin La fonction fin prend pour arguments le nom de Ia fonction 2 dune chaine de caractires, et les bornes inférieures et supéricures de l'intervale dPétude, La fone tion peut étre une fonction prédéfinie de MATLAB ou une fonction définie par Putilisateur, mais lle doit impérativement étre une fonction de la variable 2. Exemple : >> xmin = fmin(’cos’, 3, 4) , ymin = cos(xmin) ymin = 3.1416 ymin = -0.7071 on peut utiliser directement cette expression, Ja fonction est définie par une expression, Lorsque caractéres, comme argument de fmin : écrite sous forme d’une chaine de >> fn = ?2texp(-x)4sin(x)’ ; fmin(fn, 2, 6) xmin = 3.9270 ‘on eval qui prend comme argument une expression écrite Pour calculer ymin on utilise 1a foneti Ja ost possible pour fmin) : sous forme de chaine de caractére (comme cel >> x = xmin ; ymin = eval (fn) ymin = -0.0279 Lorsque l’expression dont on veut calculer Ja valeur est définie par une fonction de MATLAB ou définie par l'utilisateur, on utilise feval >> xmin = fmin(’myFunct’, 2, 4), ymin=feval (’myFunct’ ,xmin) xmin = 3.1416 ymin = -0.7071 eRe a fonetion fzero prend odo ts fonction fan. | ro Pe La eyntane dea fneton feero cet vise doe erie d'une caine de carnttres t fonction prédéfinie dle pour arguments le noi dee fonction a étudier écrit se rer {une valeur initial yoisine le celle d'une racine, La fonction peut Gtfe Mle Tt MATLAB ow ume fonction eine par Mutilisnteur, mais elle doit impé de la variable ¢ ‘une fonction. Exemple >> x0 = fzero('cos?,1), yO = cos(x0) x0 = 1.8708 yO = 0 uudier par une expres définir Ia fonction 2 -file pour delinir cette fonction, Tavest pas possible comme pour le fonetion fain a sion mathématique, On eréera alors une fonction Remarque Tl existe la fonction solve prédfinie en MATLAB pour trouver les racines d'une équation (et beaucoup plus), Si nous voulons P'appliquer sur notre exemple, il suffi d'écrire Exemple >> solve ('=24x724x48=0" x") “a 9.13. Polynémes Pour MATLAB, un polynéme est une liste: Ia liste des coefficients ordonnés par ordre décroissant : 2x + da est représenté par la liste : >> p= 40-21) p=40-21 es fonctions usuelles du calcul polynomial sont les suivantes : Fonction ‘Argument I Resulkeat aa polyval Tum palyndme p et un nombre @ ‘ale de pe) roots un polymdme p Ta Tite des racines dep poy) ‘aa vecteurr (racines dep) Tedomne les coefficients de p ‘pepoly A) ‘une matrice care Tedonne polynbme caractristique de A conv eux polyndmes p et ¢ Te polyndme produit px ¢ Ta FT=deconvte, eux polynémes et b Te quotient get Te este F de Ta division eutidienne de a par 6 paar Tm pabadme p Te polynéme dérivée de p ‘pelyfit | deux veelours a et y et un eatior n | Wouvo Tos coofcients d'un polynéme ple) de deg waa peooo par les points (2,44) (ajusterent d'une courbe polynomial) Fle repone wy : MlEUTH COMpH Ne ent : OppOW EN a Ab, eller 1) as as ) S Cette méthode repose nur J(a) eat continue sur un intervalle (a4 Jo prodult f(a), (b) ont gatif, nlors tn fonetion f ; Len différentes Guapo de a ve te ra Chole un int (b) Sinon on relent comme nowve fe,bo} Bi (c) * Ibn) <0. 3, Répéter es apes 2, jusqu'a Vobtention¢ f(c) = 0 ou bien [ba tap | | l f £ Le programme Matlab de la méthode de Bissection est d ction(a, function c=bi while(b-a>e) x=(atb)/2; if (f(a) #£(x)20) else if (£(a)*f(x)<0) else x=(atb)/2 break end end Voici un autre script de la méthode de dichotomie donné en fonction des nombres d'itératio atinput (’a=’); for if (£ (x)*f (a) <0) bex; else if(£(x)*f(a)>0) ax} else end (atb)/2; keke end fprintf(/la racine de 1a fonction ¢ sur [Wf,/f] est alpha: 2 abd Exercice d’application 1. Déterminer une valeur approchée de la racine de la fonction f dans chacun des cas suivants 1. f(t) =sin(2) avec : a= ~1 et b 2, f(z) = 2° avec : a= —1 et b= 1/2; 3. $(@) = exp(a) — (22)/2 avec: a 4, f(a) = exp(—exp(-2)) — x avec : 5. f(z) =29— 32 +1 avec :a=Oet b=1; 3.2.2, Méthode de Newton La méthode de Newton permet d’approcher par itérations la valeur de la racine x qui annulera la fonction f(z) au moyen de la relation suivante : _ Se») TER La méthode de Newton ne nécessite pas de connaitre un encadrement initial de la racine cherchée. Il suffit de connaitre une valeur approchée de cette racine, et cette valeur initiale x» est utilisée pour calculer les autres valeurs par une suite d’itérations. La fonction Matlab correspondante la méthode de Newton : es tel ques f'(tm) #0. Nous SUPDOSONS ick fy Pour cela now iia gente la coure. loupe til 26 Pe Tax des 2 nt f Cette méthode converge beaucoup plus vite que la méthode de dichotomie, sale elie ne converge as toujours. On peut utiliser la méthode de Newton avec un point de départ dans Ja, |, mais In Convergence de la suite n'est pas garantie. En pratique, on utilise souvent la méthode de dichoto- mie pour trouver un 29 assew proche de la racine, Le programme Matlab de la méthode de Newton est: donné ains arinpat Deimput (b e=input (?en? 0) fprintf('la racine est:? alpha-x; break; else if(4f(x)--0) xex-(£ (0) af @)); alphe-x; else fprintf(’la derives nulle’); break; end fprintf(’a racine de 1a fonction f sur [Mf,%t] est alpha-4f’,a,b,x); 92.8. Méthode du Point Fixe La méthode dn point fixe résout, sous certaines conditions, V'équation f(x) = x sur [a, 8). Tl repose: sur le résultat suivant ‘Théoréme : Si f est une fonction continue et contractante sur [a,b], c'est & dite + Bk €JO,If: Vey € la, [f(e)—F)l < Mev) alors il existe un unique point fixe de f, ie, la € [a,0: f(a) =a Algorithme On exée une suite récurrente (¢n)nen tlle que f(t) = nes on partant dun 2» quelconque € a, Encore sous les conditions précédentes, on a lim 2, =a quelque soit zo. Avec a le point fixe de f qui verifie f(a) =a. Le programme Matlab de la méthode de Newton est donne ainsi function [x,¢]=PointFixe(f,x0, epsilon,n_max,x_app) % Entree : f 1a fonction continue sur [a;b] % x0 la premiere valeur 4 epsilon 1a tolerance % nnax le nombre d’iteration maximal en cas dedivergence’ 4% Sortie : x 1a valeur en f tel que £(x)=x x © un vecteur de taille n_itert! tel que en = [x_n - xappl % calcul du point fixe de f par 1a méthode iterative du PointPixe tel que’ x kt = £61) , ily a unicité s’i1 existe K dans J0;1[tel que" 4% 1PG)|¢y ext xd=feval (x0) n_iter=n_iter+1; end end esation Mathémstione sande Viet 20292024 Algorithme On crée une suite récurrente (2n)ncn telle que f(y) = tng en partant d'un zo queleonque [a 6) Encore sous les conditions précédentes, on a quelque soit zo. Avec a le point fixe de f qui verifie f(a) =a. Le programme Matlab de la méthode de Newton est donné ainsi function [x,¢]=PointFixe(f,x0, epsilon,n_max,x_app) 4 Entree ; # 1a fonction continue sur [a;b] % x0 la premiere valeur 4 epsilon 1a tolerance % pax le nombre d’iteration maximal en cas dedivergence’ 4% Sortie : x la valeur en f tel que £(x)=x x @ un vecteur de taille n_itert! tel que en = [xn ~ x appl % Calcul du point fixe de £ par 1a méthode iterative du PointFixe tel que’ Yokel = £4) , AL y a unicité 6741 existe K dans }0;1 {tel que* %12'G)lepsilon ot que le nombre d’iteration n'a pas % avteint son maxima on calpule x k+1 = £6410 while (abs(x1-x0)>epsilon be 'n_iter

Vous aimerez peut-être aussi