Vous êtes sur la page 1sur 31

Chapitre 3 :

Fonctions réelles
Fonctions , Polynômes

1- Fonctions réelles

1- Graphique d’une fonction réelle

La commande fplot(fun,lims) trace le graphe de la fonction fun (définie par une


chaîne de caractères) sur l’intervalle ]lims(1),lims(2)[.
Par exemple, pour représenter f(x) = 1/(1 + x²) sur [ − 5, 5], on peut écrire :

>> fun =’1/(1+x^²)’; lims=[-5,5]; fplot(fun,lims);

ou, plus directement,

>> fplot(’1/(1+x^²)’,[-5 5]);


Fonctions , Polynômes

Fonctions réelles

Le graphe est obtenu en échantillonnant la fonction en des abscisses non


équiréparties. Il reproduit le graphe réel de f avec une tolérance de 0.2%. Pour
améliorer la précision, on pourrait utiliser la commande :
>> fplot(fun, lims, tol, n, LineSpec)

où tol indique la tolérance souhaitée

le paramètre n(≥ 1) assure que la fonction sera tracée avec un minimum de n+1
points.

LineSpec spécifie le type de ligne ou la couleur (par exemple, LineSpec=’–’ pour


une ligne en traits discontinus, LineSpec=’r-.’ une ligne rouge en traits mixtes,
etc.).

Pour utiliser les valeurs par défaut de tol, n ou LineSpec, il suffit d’utiliser des
matrices vides ([ ]).
Fonctions , Polynômes

Fonctions réelles
2- Evaluation d’une fonction réelle

fun=inline(’sin(x)*(1+cos(t))’, ’x’,’t’) définit la fonction fun(x, t) = sin(x)(1 + cos(t)).

La syntaxe usuelle d’une fonction anonyme est :


fun=@(arg1, arg2,...,argn)[expr]
eval
évaluent la fonction fun au point x
feval
Remarque :
Si la variable x est un tableau, les opérations /, * et ˆ agissant sur elle doivent être
remplacées par les opérations point correspondantes ./, .* et .ˆ qui opèrent composante par
composante
Fonctions , Polynômes

Fonctions
1- Fonctions
réelles
réelles

Définition Evaluation Tracé

fun=’1/(1+xˆ2)’ y=eval(fun) fplot(fun,[-2,2])

fun=inline(’1/(1+xˆ2)’) y=fun(x) fplot(fun,[-2,2])


y=feval(fun,x)

fun=@(x)[1/(1+xˆ2)] y=fun(x) fplot(fun,[-2,2])


y=feval(fun,x)

function y=fun(x) y=fun(x) fplot(’fun’,[-2,2])


y=1/(1+xˆ2); y=feval(@fun,x) fplot(@fun,[-2,2])
end y=feval(’fun’,x)
Polynômes , Matrices, Vecteurs , Fonctions

1- Les zéros
3- Zéros d’une fonction réelle

Définition :
On dit que α est un zéro de la fonction réelle f si f(α) = 0. Il est dit simple si
f ‘(α) = 0, et multiple sinon.

On peut déterminer les zéros réels d’une fonction à partir de son graphe (avec une certaine
tolérance). Le calcul direct de tous les zéros d’une fonction donnée n’est pas toujours
facile.

Pour les fonctions polynomiales de degré n à coefficients réels, c’est-à-dire de la forme:


𝑛

𝑝𝑛 𝑥 = 𝑎0 + 𝑎1 x+𝑎2 𝑥 2 + 𝑎3 𝑥 3 + ⋯ 𝑎𝑛 𝑥 𝑛 = ෍ 𝑎𝑘 𝑥 𝑘 , 𝑎𝑛 ∈ 𝑅, 𝑎𝑛 ≠ 0
𝑘=0

On peut calculer le zéro unique α = −a0/a1, quand n = 1 (le graphe de p1 est une ligne
droite), ou les deux zéros α+ et α− ∈ C, éventuellement confondus, quand n = 2 (le
graphe de p2 est une parabole):
Fonctions , Polynômes

1- Fonctions réelles
Mais il n’y a pas de formule explicite donnant les racines d’un polynôme quelconque pn quand
n ≥ 5.

La commande fzero(fun,x0) permet de calculer une valeur approchée du zéro de la


fonction fun au voisinage d’une valeur donnée x0, réelle ou complexe.

La commande fzero(fun,[x0 x1]) permet de calculer un zéro de fun dans l’intervalle


d’extrémités x0, x1, à condition que f change de signe entre x0 et x1
Exemple :
Soit la fonction f(x) = x2−1+ex.
En regardant son graphe, on voit qu’elle a deux zéros dans ] − 1, 1[. Pour les calculer, on
exécute les commandes suivantes :
>> fun=@(x)[x^2 - 1 + exp(x)];
>> fzero(fun,-1)
ans =
-0.7146
>> fzero(fun,1)
ans =
5.4422e-18
Fonctions , Polynômes

1- Fonctions réelles
A l’aide de la fonction plot, on remarque qu’il y a un zéro dans l’intervalle [−1,−0.2] et un
autre dans [−0.2, 1]. On peut alors écrire alternativement :
>> fzero(fun,[-1 -0.2])
ans =
-0.7146
>> fzero(fun,[-0.2 1])
ans =
-5.2609e-17

Remarque :
Le résultat obtenu pour le second zéro est légèrement différent du précédent car
l’algorithme implémenté dans fzero est initialisé différemment dans ce cas.
Fonctions , Polynômes

2- Les polynômes

Les polynômes sont traités comme des vecteurs lignes dont les composantes sont les
coefficients du polynôme ordonnée par puissance décroissante.

Le polynôme 𝑷 𝒙 = 𝟑𝒙𝟑 + 𝟒 𝒙𝟐 + 𝟓𝒙 + 𝟏 s’écrira comme

P = [3 4 5 1]
Fonctions , Polynômes
2- Les polynômes

Quelques opérations sur les polynômes :

Conv(p1,p2) calcul le produit de p1 et p2

Deconv(p1,p2) calcule le quotient de p1 et p2

Polyval (P,X) évalue la valeur du polynôme p(x) pour la valeur x =X.

roots(p) trouve les racines du polynôme

poly(r) trouve le polynôme à partir des ses racines

residue (p,q) décompose le rapport de deux polynômes (p et q) en éléments simples

polyder (p) calcule les coefficients de la dérivé du polynôme p.

polyint(p) calcule les coefficients de la primitive s’annulant en x = 0


Fonctions , Polynômes

2- Les polynômes

Exemple
𝑓 𝑥 = 3𝑥 3 + 2𝑥 2 − 𝑥 + 4

𝑔 𝑥 = 2𝑥 4 − 3𝑥 2 + 5𝑥 − 1

Le produit de convolution : h1(x)=f(x).g(x) est donné par:

>> f=[3 2 -1 4];


>> g=[2 0 -3 5 -1];
>> h1=conv(f,g)
h1 =
6 4 -11 17 10 -19 21 -4

Ainsi le polynôme h(x) obtenu est:

h1 𝑥 = 6𝑥 7 + 4𝑥 6 − 11𝑥 5 + 17𝑥 4 + 10𝑥 3 − 19𝑥 2 + 21𝑥 − 4


Fonctions , Polynômes

2- Les polynômes

La division de g(x) par f(x) est donnée par:

>> f=[3 2 -1 4];


>> g=[2 0 -3 5 -1];
>> h2=deconv(g,f)
h2 =
0.6667 -0.4444

Ainsi le polynômes h2(x) obtenu est:

h2 𝑥 = 0.6667𝑥 − 0.4444
Fonctions , Polynômes

2- Les polynômes

Factorisation d’un polynôme p 𝑥 = 𝑥 4 + 2𝑥 3 − 7𝑥 2 − 8𝑥 + 12


p=[1 2 -7 -8 12]

>> roots(p)
ans =
-3.0000
-2.0000
2.0000
1.0000

P(x)=(x-1)(x-2)(x+2)(x+3)

Les quatre racines de ce polynôme sont données sous forme d’un vecteur colonne.
Quand les racines sont connues, les coefficients peuvent être recalculés par la
commande ‘poly’.
Polynômes , Matrices, Vecteurs , Fonctions

2- Les polynômes

>> r=roots(p)
r=

-3.0000
-2.0000
2.0000
1.0000

>> poly(r)

ans =

Columns 1 through 4

1.0000 2.0000 -7.0000 -8.0000

Column 5

12.0000
Fonctions , Polynômes

2- Les polynômes

Décomposition d’un polynôme

𝑛(𝑥) 𝑟1 𝑟2
= + +……..+k(x) Avec p1, p2,……. Désignent les ‘pôles’
𝑑(𝑥) 𝑥−𝑝1 𝑥−𝑝2

n = [ 5 3 -2 7] >> [r, p, k] = residue(n,d)


d= [-4 0 8 3] r=
-1.4167
-0.6653
1.3320
p=
1.5737
-1.1644
-0.4093
k=
-1.2500
Pour plus d’information sur les polynômes : help ployfun
Chapitre 3 (Suite):

Calcul approché de dérivées et


d'intégrales
Plan

Introduction

Calcul approché de la valeur d'une dérivée

Calcul approché d'intégrales


 Subdivision régulière d'un segment
 Méthode des trapèzes
 Méthode des rectangles

Calcul exact avec syms


Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms

1- Introduction

Nous présentons dans ce chapitre des méthodes pour approcher les dérivées et les intégrales
de fonctions. Concernant l’intégration, on sait bien qu’il n’est pas toujours possible, pour une
fonction arbitraire, de trouver la forme explicite d’une primitive. Mais même quand on la
connaît, il est parfois difficile de l’utiliser. C’est par exemple le cas de la fonction
f(x) = cos(4x) cos(3 sin(x)) pour laquelle on a

On voit que le calcul de l’intégrale est transformé en un calcul, aussi difficile, de la somme
d’une série. Dans certains cas, la fonction à intégrer ou à différentier n’est connue que par
les valeurs qu’elle prend sur un ensemble fini de points (par exemple, des mesures
expérimentales).

Dans tous ces cas, il faut considérer des méthodes numériques afin d’approcher la quantité à
laquelle on s’intéresse, indépendamment de la difficulté à intégrer ou à dériver la fonction.
Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.1 Calcul approché de la valeur d'une dérivée
Théorèmes

1. Théorème fondamental de l’intégration : si f est une fonction continue


dans [a, b[, alors:

est une fonction dérivable, appelée primitive de f, satisfaisant

2. Théorème de la moyenne pour les intégrales : si f est une fonction continue sur [a, b[
et si x1, x2 ∈ [a, b[ avec x1 < x2, alors ∃ξ ∈]x1, x2[ tel que
Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.1 Calcul approché de la valeur d'une dérivée
Soit f une application réelle dérivable sur un intervalle ouvert ]a,b[ non-vide. La dentition du
nombre dérivé f’(𝑥0 ) en 𝑥0 ∈ ]a; b[ fournit implicitement une méthode de calcul approché
de f’(𝑥0 ) :

Premier algorithme :
function [y]=deriv1(x,h) % calcul approché d’un nombre dérivé
fun=inline('t^2','t')
y=(fun(x+h)-fun(x))/h;

Deuxième algorithme :
function [y]=deriv2(x,h) % calcul approché d’un nombre dérivé :
fun=inline('t^2','t')
y=(fun(x+h)-fun(x-h))/(2*h);
Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.1 Calcul approché de la valeur d'une dérivée

Utilisation

>> deriv1(1,0.01) >> deriv2(1,0.01)


fun = fun =
Inline function: Inline function:
fun(t) = t^2 fun(t) = t^2
ans = ans =
2.010000000000001 2.000000000000002

Le résultat exact est ici 2 : on constate que l'approximation est bien meilleure dans le
2eme cas...

Il ne s'agit pas d'un hasard !!!!!! Explication :


Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.1 Calcul approché de la valeur d'une dérivée
Développement de Taylor-Young a l'ordre 2 :

Soit f de classe 𝐶 2 (c.à.d.. deux fois dérivable et sa dérivée seconde continue) sur un
intervalle ouvert contenant 𝑥0 . Alors pour tout h suffisamment proche de 0 :

Puisqu'au voisinage de 0

Tandis que :
Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.1 Calcul approché de la valeur d'une dérivée

(attention O(g) − O(g) = O(g) ≠ 0 en general !).

Lorsque h tend vers 0, ℎ2 converge bien plus rapidement que h vers 0. C'est pourquoi, pour
des valeurs identiques de h (proches de 0), la deuxième méthode donnera en général de
meilleurs résultats que la première : l'erreur est un O(ℎ2 ) plutôt qu'un O(h).
Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.2 Calcul approché d'intégrales
5.2.1. Subdivision régulière d'un segment
 Calculer la valeur d'une intégrale est une opération en général difficile. Dans les applications
scientifiques ou en ingénierie il est pourtant nécessaire de calculer rapidement des
valeurs approchées d'intégrale (calcul d'aire, de volume, physique).

 Le calcul d’une approchée n'est pas très difficile. Les méthodes les plus simples
consistent à subdiviser régulièrement l'intervalle d'intégration pour approcher le
calcul intégral par un calcul d'aires de figures géométriques plus simples (par exemple
dans la méthode des trapèzes).

 C'est pourquoi il est utile de définir la notion de subdivision régulière d'un segment :

Définition :
Soit [a, b] un intervalle non vide et non réduit a un point (i.e. a < b). Soit 𝑛 ∈ ℕ∗
; une subdivision régulière de [a, b] en n + 1 points est une suite finie de n + 1
réels : 𝑎𝑘 0≤𝑘≤𝑛 vérifiant :
𝑎0 = 𝑎, 𝑎𝑛 = 𝑏 et la suite de terme général 𝑢𝑘+1 − 𝑢𝑘 est stationnaire.
Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.2 Calcul approché d'intégrales
5.2.1. Subdivision régulière d'un segment

Autrement dit : pour tout k [0, n]:

• Sous Matlab on crée facilement une subdivision régulière en n + 1 points de


l'intervalle [a, b] a l'aide de la fonction linspace(a,b,n+1) :

>> x=linspace(1,3,10)
x=
Columns 1 through 9
1.0000 1.2222 1.4444 1.6667 1.8889 2.1111 2.3333 2.5556 2.7778
Column 10

3.0000
Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.2 Calcul approché d'intégrales
5.2.2. Méthode des Trapèzes
Soit une application f réelle : continue sur un intervalle [a, b]. Donné un entier n non nul (et
suffisamment grand), la méthode des trapèzes calcule une valeur approchée de l'intégrale de
f sur [a, b] en approchant le domaine délimité par la courbe représentative de f (l'axe des
abscisses et les droites x = a et x = b) par des trapèzes ayant même hauteur.

Méthode des trapèzes : Si f : [a, b] → R est continue :


𝑏−𝑎
Soit 𝑎𝑘 = 𝑎 + 𝑘 pour k∈ [ 0, n] (ainsi 𝑎0 = 𝑎, 𝑎𝑛 = 𝑏). Si n est assez grand :
𝑛

est l'aire du trapèze hachure (hauteur × moyenne des bases).


Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.2 Calcul approché d'intégrales
• Un calcul simple de somme fournit une formule plus concise :

En effectuant le changement d'indice k ← k + 1 dans la deuxième somme :


Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.2 Calcul approché d'intégrales
5.2.3. Méthode des rectangles
Soit une application f réelle : continue sur un intervalle [a, b]. Donné un entier n non nul (et
suffisamment grand), la méthode des rectangles calcule une valeur approchée de l'intégrale
de f sur [a, b] en approchant le domaine délimité par la courbe représentative de f (l'axe des
abscisses et les droites x = a et x = b) par des rectangles.
Méthode des rectangles : Si f : [a, b] → R est continue :
𝑏−𝑎
Soit 𝑎𝑘 = 𝑎 + 𝑘 pour k∈ [ 0, n] (ainsi 𝑎0 = 𝑎, 𝑎𝑛 = 𝑏). Si n est assez grand :
𝑛

est l'aire du rectangle hachure (hauteur × base).


Introduction, Calcul approché de la valeur d'une dérivée, Calcul
approché d'intégrales, Calcul exact avec syms
5.2 Calcul approché d'intégrales
 Un calcul simple de somme fournit une formule plus concise :
Introduction, Calcul approché de la valeur d'une dérivée, Calcul approché d'intégrales, Calcul exact avec syms

5.3 Calcul exact avec la toolbox symbolic de Matlab


La toolbox symbolic de MATLAB contient les commandes diff et int qui fournissent
respectivement l’expression analytique de la dérivée, de l’intégrale indéfinie (i.e. une primitive).
La variable x doit être déclarée comme symbolique en utilisant la commande syms x
Introduction, Calcul approché de la valeur d'une dérivée, Calcul approché d'intégrales, Calcul exact avec syms

5.3 Calcul exact avec la toolbox symbolic de Matlab

Vous aimerez peut-être aussi