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 une1.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
elGeos 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;/ctrace(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 7Modé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]
iyp”
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.7071eRe 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)
elsex=(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) =aAlgorithme
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
endesation 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_iterVous aimerez peut-être aussi