Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El objetivo de esta sección del código es calcular las diferencias divididas que se utilizan
para encontrar el polinomio interpolante.
En este caso, se utiliza el índice j para recorrer las columnas de la matriz F y el índice i
para recorrer las filas. En cada iteración, se calcula la diferencia dividida correspondiente y
se almacena en F(i,j).
F(:,1) = y'; y
for i = j:n
end
end
a = diag(F(1:grado+1,1:grado+1))';
Luego, se usan dos ciclos anidados para calcular las diferencias divididas de orden superior.
La expresión (F(i,j-1) - F(i-1,j-1)) / (x(i) - x(i-j+1)) representa la
diferencia dividida de orden j de los valores y en los índices 1 a i. Finalmente, se guarda el
valor de esta diferencia dividida en la matriz F(i,j).
por ejemplo, si tenemos los puntos (1, 3), (2, 5), (3, 7), (4, 9), queremos encontrar un
polinomio que pase por estos puntos. Primero, encontramos las diferencias divididas de
primer orden:
f[1] = 3
f[2] = 5
f[3] = 7
f[4] = 9
f[1,2] = (5 - 3)/(2 - 1) = 2
f[2,3] = (7 - 5)/(3 - 2) = 2
f[3,4] = (9 - 7)/(4 - 3) = 2
f[1,2,3] = (2 - 2)/(3 - 1) = 0
f[2,3,4] = (2 - 2)/(4 - 2) = 0
f[1,2,3,4] = (0 - 0)/(4 - 1) = 0
Claro, la fórmula de las diferencias divididas para encontrar los coeficientes de la
interpolación polinómica de Lagrange es:
Donde:
Por ejemplo, para los datos (1, 3), (2, 5), (3, 7), (4, 9), la matriz de diferencias divididas F se
vería así:
|3|2|0|0|
|5|2|0|0|
|7|2|0|0|
|9|0|0|0|
Por último, se seleccionan las diferencias divididas diagonales de orden 0 a grado (donde
grado es el grado de interpolación deseado) y se guardan en un vector a. La función diag
devuelve la diagonal de una matriz, y al especificar los índices 1:grado+1 en la matriz F,
se están seleccionando las diagonales desde la posición (1,1) hasta la posición
(grado+1, grado+1). Luego, el operador de transposición ' se utiliza para convertir el
vector fila a en un vector columna.
syms z;
polinomio = a(1);
for i = 2:grado+1
termino = a(i);
for j = 1:i-1
end
end
Primero, se define una variable simbólica z para poder construir el polinomio. Luego se
inicializa el polinomio polinomio con el valor de la primera diferencia dividida a(1).
Después se utiliza un ciclo for que recorre las demás diferencias divididas (de la segunda
hasta la grado+1-ésima) y por cada una de ellas se construye un término del polinomio
interpolante. Este término se calcula como el producto de la diferencia dividida
correspondiente a(i) y una serie de factores (z - x(j)), donde j recorre los índices
desde 1 hasta i-1.