1 function res=deriv_app(k,n,x,y,X)
\r
2 % fournit une valeur approchée de dérivée d'ordre k avec un polynome de degré n
\r
5 % k est un entier naturel qui désigne l'ordre de dérivation demandé
\r
6 % n est un entier désignant le degré du polynome d'interpolation utilisé pour
\r
7 % la dérivation approchée.
\r
8 % Selon la parité de n,
\r
9 % f est supposée donnée en x=(x0,...,xn) centrés autour de t,
\r
10 % par les valeurs y=(y0,...,yn) via yi=f(xi).
\r
11 % X désigne l'indéterminée classique.
\r
13 % variable de sortie
\r
14 % le résultat res uniquement défini comme un symbolique.
\r
16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\r
17 % Fonctions connexes appelées
\r
19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\r
25 error('Nombre des arguments incorrect');
\r
28 % effectué en amont... On peut choisir un autre style.
\r
30 % algorithme proprement dit
\r
33 % calcul du polynome interpolant adapté aux choix effectués
\r
34 % et calcul de sa dérivée formelle
\r
35 util=d(1:n+1)*(base(1:n+1))';
\r
36 deriv=diff(util,'X',k);
\r
38 % détermination du support centré selon parité de n
\r
39 % sachant qu'il y a n+1 points au support.
\r
42 % détermination du centre parmi les valeurs xi
\r
45 % écriture des centres
\r
48 xcentre(c-i)=t-i*h;xcentre(c+i)=t+i*h;
\r
54 xcentre(i)=t-(sup-i+1)*h;xcentre(n+2-i)=t+(sup-i+1)*h;
\r
58 % valeur approchée de la dérivée en fonction des valeurs centrées
\r
59 res1=simple(subs(deriv,x(1:n+1),xcentre));
\r
61 % sortie des résultats
\r
62 disp('Les valeurs considérées en x sont :');
\r
64 disp('soit encore, une fois centrées :');
\r
66 disp('auxquelles correspondent respectivement en f(x):');
\r
70 sor=sprintf([sor '=D%df(t=x%d)'],k,c-1);
\r
72 ch=sprintf(['La valeur approchée de D%df(t)' sor ' est,'],k);
\r
74 disp('sous forme classique :');
\r
75 pretty(simple(subs(res1,X,t)));
\r
76 res=simple(subs(res1,X,t));
\r