12.07.2015 Views

Algoritmi per l'interpolazione polinomiale Implementazione MATLAB

Algoritmi per l'interpolazione polinomiale Implementazione MATLAB

Algoritmi per l'interpolazione polinomiale Implementazione MATLAB

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3 RAPPRESENTAZIONE DEL POLINOMIO INTERPOLANTE 6computazionale dell’ordine di O(n 3 ).Per ovviare a questi problemi, esistono degli algoritmi che <strong>per</strong>mettono di rappresentarein altra forma il polinomio p n (x).3.1 Forma di LagrangeAnzichè calcolare i coefficienti di p n (x), questi si scelgono uguali agli {y i } e si cercauna base <strong>per</strong> rappresentare p n . Si trova chen∑p n (x) = y i L i (x)dove gli {L i } sono detti polinomi cardinali di Lagrange e hanno la forma(4) L i (x) =i=0n∏k=0k≠ix − x kx i − x kInoltre godono della proprietà che L i (x j ) = δ ij .Rappresentare p n (x) in forma di Lagrange richiede un costo computazionale paria O(n 2 ).3.2 lagrix.mLa function L = lagrix(x, xi) costruisce la matriceL = [L 0 (x)L 1 (x) . . . L n (x)]che ha <strong>per</strong> colonne le valutazioni degli L i (x) sui punti contenuti nell’intervallo x. Lacolonna i-esima di L si ottiene invocando la subfunction l = givelagr(x, i, xi)che restituisce un vettore l contenente il polinomio L i (x) valutato su x.L( :, i ) = givelagr( x, i, xi );La subfunction givelagr può o<strong>per</strong>are su vettori x e costruisce L i (x) a partire dallarelazione (4) nel modo seguente:for k = 1 : nif i ~= kfact = ( x - xi(k) ) ./ ( xi(i) - xi(k) );prd = prd .* fact;endendIn figura 3 sono plottati i primi 3 polinomi di Lagrange.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!