You are currently browsing the tag archive for the ‘interpolación Lagrange’ tag.

Para aproximar la primera y segunda derivada de una función f(x) mediante tres puntos estamos habituados a las fórmulas:

f'(x) \approx \frac{f_{i+1}-f_{i-1}}{2h} = \frac{-1}{2h} f_{i-1} + \frac{1}{2h} f_{i+1},

f''(x) \approx \frac{f_{i-1} - 2f_i + f_{i+1}}{h^2} = \frac{1}{h^2} f_{i-1} + \frac{-2}{h^2} f_i + \frac{1}{h^2} f_{i+1}.

En estas expresiones estamos asumiendo que los puntos están equiespaciados una distancia h. ¿Cómo quedan las formulas en el caso de que la distancia entre los dos primeros puntos lx sea diferente a la distancia entre los dos últimos rx? Existen varias maneras de calcularlo, por ejemplo mediante interpolación de Lagrange como ya hicimos en este post, y quedan:

f'(x) \approx \frac{-rx}{lx(lx+rx)} f_{i-1} + \frac{rx - lx}{lx rx} f_i + \frac{lx}{(lx+rx)rx} f_{i+1},

f''(x) \approx \frac{2}{lx(lx+rx)} f_{i-1} + \frac{-2}{lx rx} f_i + \frac{2}{(lx+rx)rx} f_{i+1}.

Dados n+1 puntos:

(x_0,y_0), \ldots, (x_n,y_n),

definimos el polinomio interpolador de Lagrange:

L(x) := \Sigma_{i=0}^n y_i l_i(x)

donde:

l_i(x) := \Pi_{0 \leq j \leq n,j \neq i} \frac{x-x_j}{x_i-x_j}.

Con esto, tenemos:

\frac{d^n}{dx^n}L(x) = \Sigma_{i=0}^n y_i \frac{d^n}{dx^n}l_i(x)

Supongamos que tenemos n=2:

(x_0,y_0), (x_1,y_1).

En este caso, tenemos:

L(x) = y_0 l_0(x) + y_1 l_1(x)

con:

l_0(x) = \frac{x-x_1}{x_0-x_1}

l_1(x) = \frac{x-x_0}{x_1-x_0}

Como tenemos dos puntos, únicamente podemos aproximar la primera derivada:

\frac{d}{dx} L(x) = y_0 \frac{d}{dx} l_0(x) + y_1 \frac{d}{dx} l_1(x)

con:

\frac{d}{dx} l_0(x) = \frac{1}{x_0-x_1}

\frac{d}{dx} l_1(x) = \frac{1}{x_1-x_0},

de manera que:

\frac{d}{dx}L(x) = \frac{y_1 - y_0}{x_1 - x_0}.

Con esto, tenemos las aproximaciones de primer orden:

u_x(x_0) = u_x(x_1) = \frac{y_1 - y_0}{x_1-x_0},

que, en índices, queda:

\frac{d}{dx}u_i \approx \frac{u_{i+1}-u_i}{h_x},

\frac{d}{dx}u_{i+1} \approx \frac{u_{i+1}-u_i}{h_x},

donde h_x = x_1 - x_0 (y que es lógico, ya que la derivada será una constante).

Supongamos ahora que tenemos tres puntos:

(x_0,y_0),(x_1,y_1),(x_2,y_2).

En este caso tenemos:

L(x) = y_0 l_0(x) + y_1 l_1(x) + y_2 l_2(x),

\frac{d}{dx} L(x) = y_0 \frac{d}{dx} l_0(x) + y_1 \frac{d}{dx} l_1(x) + y_2 \frac{d}{dx} l_2(x),

\frac{d^2}{dx^2} L(x) = y_0 \frac{d^2}{dx^2} l_0(x) + y_1 \frac{d^2}{dx^2} l_1(x) + y_2 \frac{d^2}{dx^2} l_2(x).

Ahora tenemos:

l_0(x) = \frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)} = \frac{x^2 + (-x_1-x_2)x + x_1x_2}{(x_0-x_1)(x_0-x_2)},

l_1(x) = \frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)} = \frac{x^2 + (-x_0-x_2)x + x_0x_2}{(x_1-x_0)(x_1-x_2)},

l_2(x) = \frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)} = \frac{x^2 + (-x_0-x_1)x + x_0x_1}{(x_2-x_0)(x_2-x_1)}.

\frac{d}{dx} l_0(x) = \frac{2x + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)},

\frac{d}{dx} l_1(x) = \frac{2x+(-x_0-x_2)}{(x_1-x_0)(x_1-x_2)},

\frac{d}{dx} l_2(x) = \frac{2x+(-x_0-x_1)}{(x_2-x_0)(x_2-x_1)}.

\frac{d^2}{dx^2} l_0(x) = \frac{2}{(x_0-x_1)(x_0-x_2)},

\frac{d^2}{dx^2} l_1(x) = \frac{2}{(x_1-x_0)(x_1-x_2)},

\frac{d^2}{dx^2} l_2(x) = \frac{2}{(x_2-x_0)(x_2-x_1)}.

De esta manera, por ejemplo, tenemos que:

\frac{d^2}{dx^2}L(x) = y_0 \frac{2}{(x_0-x_1)(x_0-x_2)} + y_1 \frac{2}{(x_1-x_0)(x_1-x_2)} + y_2 \frac{2}{(x_2-x_0)(x_2-x_1)},

que, en el caso de tener los puntos equiespaciados (h_x:=x_{i+1}-x_{i} con 0 \leq i \leq 1), queda la aproximación de segundo orden:

\frac{d^2}{dx^2}u(x) = \frac{y_0 - 2 y_1 + y_2}{h_x^2},

que además, como era de esperar, es independiente de x:

\frac{d^2}{dx^2}u_{i-1} \approx \frac{u_{i-1}-2u_i+u_{i+1}}{h_x^2},

\frac{d^2}{dx^2}u_i \approx \frac{u_{i-1}-2u_i+u_{i+1}}{h_x^2},

\frac{d^2}{dx^2}u_{i+1} \approx \frac{u_{i-1}-2u_i+u_{i+1}}{h_x^2}.

¿Qué pasa con la primera derivada? En este caso, el resultado si que depende de x (por lo que tendremos un resultado diferente en función de si la x vale x_0, x_1 o x_2) y lo que obtenemos es:

\frac{d}{dx} L(x) = y_0 \frac{2x + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 \frac{2x + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 \frac{2x + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)},

por lo que:

\frac{d}{dx} L(x_0) = y_0 \frac{2x_0 + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 \frac{2x_0 + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 \frac{2x_0 + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)}

\frac{d}{dx} L(x_1) = y_0 \frac{2x_1 + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 \frac{2x_1 + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 \frac{2x_1 + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)}

\frac{d}{dx} L(x_2) = y_0 \frac{2x_2 + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 \frac{2x_2 + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 \frac{2x_2 + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)},

que, con equiespaciado, quedan:

L'(x_0) = \frac{3 y_0 -4 y_1 + y_2}{2 h_x},

L'(x_1) = \frac{y_0 -2 y_1 + y_2}{2 h_x} y

L'(x_2) = \frac{y_0 -4 y_1 + 3 y_2}{2 h_x}.

noviembre 2019
L M X J V S D
« Oct    
 123
45678910
11121314151617
18192021222324
252627282930