Interpolació baricèntrica
En anàlisi numèrica, la interpolació baricèntrica és una forma d'interpolació que, a partir de la interpolació polinòmica de Lagrange, crea un mètode que permet trobar el polinomi interpolador amb menys operacions que aquest.
Interpolació polinòmica en forma de Lagrange
Plantilla:Article principal Donat un conjunt de n+1 nodes: Plantilla:Equació i els valors de la funció en aquests mateixos punts: Plantilla:Equació Llavors el polinomi interpolador serà: Plantilla:Equació on representa el cardinal de Lagrange i-èsim: Plantilla:Equació
Polinomi nodal i pesos baricèntrics
Definim el polinomi nodal com: Plantilla:Equació Per altra banda, definim el pes baricèntric j-èsim d'una interpolació com: Plantilla:Equació
Primera fórmula baricèntrica
Amb els conceptes que acabem de mostrar, és senzill veure que es compleix: Plantilla:Equació Que si ho substituïm a la forma inicial de Lagrange: Plantilla:Equació Veiem que es pot treure el polinomi nodal fora del sumatori, de manera que obtenim la primera fórmula baricèntrica: Plantilla:Equació
Segona fórmula baricèntrica
Anem a trobar una manera més elegant de presentar l'anterior fórmula. Partim del fet que: Plantilla:Equació Per tant, també veiem que: Plantilla:Equació Dividint la primera fórmula baricèntrica per l'anterior terme i simplificant els polinomis nodals obtenim: Plantilla:Equació Que és l'anomenada segona fórmula baricèntrica.
Avantatges del mètode
A vegades la interpolació baricèntrica és també anomenada forma millorada de Lagrange. Això és degut al fet que un cop coneguts els pesos baricèntrics, és possible interpolar qualsevol funció en operacions. A més a més, és possible trobar analíticament fórmules explícites per als nodes distribuïts de maneres molt determinades, com els equiespaiats o els nodes de Chebyshev.
Si el comparem amb la interpolació de Newton, la baricèntrica té l'avantatge que els pesos no depenen de la funció, sinó únicament dels nodes. Això fa que mentre que amb Newton cal començar de nou per cada nova funció, amb la baricèntrica podem interpolar qualsevol funció amb els pesos prèviament calculats.
Nodes equiespaiats i de Txebixev
Nodes equiespaiats
En aquest cas volem interpolar una funció en un interval i tenim un conjunt de n+1 nodes que compleixen: Plantilla:Equació Llavors el pes baricèntric j-èsim serà: Plantilla:Equació De manera que si substituïm a la segona fórmula baricèntrica i simplifiquem trobem que: Plantilla:Equació
Nodes de Txebixev
Plantilla:Article principal Ara volem interpolar la funció en l'interval (fent un canvi de variable en la funció si fa falta). Si seguim la mateixa notació que en l'apartat anterior, tenim que: Plantilla:Equació Per tant, la segona fórmula baricèntrica es transforma en: Plantilla:Equació
Codi Matlab
Un possible codi Matlab de la interpolació baricèntrica és el següent, que a partir d'uns nodes ('x'), el valor de la funció en els nodes ('f') i una malla fina on volem interpolar la funció ('xx') retorna els valors de la funció interpolada ('ff').
% Interpolació baricèntrica
function ff = inter_bar(x,f,xx)
N = length(x); % Nodes
M = length(xx); % Malla
% Iniciem variables
w = zeros(1,N); % Pesos baricèntrics
ff = zeros(1,M); % Funció interpolada
% Calculem els pesos baricèntrics
for ii = 1:N
w(ii) = 1./prod(x(ii) - x([1:ii-1 ii+1:end]));
end
% Trobem la funció interpolada en la malla
for ii = 1:M
aux = w./(xx(ii)-x);
ff(ii) = sum(f.*aux)/sum(aux);
end
end