Approximation polynômiale uniforme-polynômes de bernstein
Approximation polynômiale uniforme-Polynômes de Bernstein
[pic]
On considère les suites suivantes :
[pic]
Question 1 :
Montrons que [pic]
[pic]
On reconnaît la formule du binôme de Newton,
[pic]
Dans notre cas,
[pic]
d’où :
[pic]
On veut montrer que, [pic]
[pic]
[pic]
On pose[pic].
[pic]
On vérifie sur Scilab pour le cas particulier où : x=0,1 et n=3
x=0.1; n=3; z=(factorial(n)/(factorial(0)*factorial(n-0)))*(x^0)*(1-x)^(n-0); s=z.*0; function h=bn(j,m) h=(factorial(m)./(factorial(j).*factorial(m-j))).*(x^j).*(1-x).^(m-j); endfunction for j=1:n z=z+bn(j,n); bj=(j./n).*bn(j,n); s=s+bj; end z s Question 2 :
Soit la fonction suivante :
[pic]
Nous avons représenté f et le polynôme de Bernstein fn pour les valeurs de n suivantes : 11, 21, 70, 150.
Code Scilab :
x=0:0.05:1; plot(x,f(x),'b',x,fn(11),'magenta',x,fn(21),'r',x,fn(70),'g',x,fn(150),'cyan') hl=legends(['f';'fn pour n= 11';'fn pour n= 21';'fn pour n= 70';'fn pour n=150'],[2 6 5 3 4])
[pic]
On remarque que plus n est grand, plus l’approximation est précise.
Question 3 :
Pour comparer l’approximation de Bernstein et celle de Lagrange, on a choisi arbitrairement de prendre un degré n=21.
Dans un premier temps, on calcule les coefficients de Lagrange pour un degré 21.
Code Scilab :
x=[0:0.05:1]; y=f(x); n=length(x); for i=1:n l(i)=1; for j=1:n if ji l(i)=l(i)*(x(i)-x(j)); end end a(i)=y(i)/l(i); end Afin de les comparer, on calcule l’écart entre d’une part, l’approximation de Lagrange et f, d’autre part, l’approximation de Bernstein et f.
Code Scilab :
disp(n,'différence entre f et L(de degré=') f(x)-L(x) disp(n,'différence entre f et fn(de degré=') f(x)-fn(n) hl=legends(['Lagrenge';'f';'fn'],[-12, 2 5])