¿Cómo programar con MATLAB?
Supongo que tu X y X (1)-X (n) son variables diferentes, así que uso A para representar tu X y la matriz X para representar tu X (1)-X (n). .
Asigno valores arbitrarios a estos números.
a = 10;
x = 1:3:30;
k = 5;
temp = verdadero(tamaño( x));
temp(k)= false;
y = prod(a-x)/prod(x(k)-x(temp));
A-x es la matriz generada [A-X (1), A-X (2),..., A-X (n)], y prod() es la multiplicación de esta matriz.
Temp es una matriz lógica, el tamaño es el mismo que X, solo que el késimo número es falso. X(temp) es [x (1), x (2), ..., x (k-1), x (k 1), ..., x (n)].
Otros deben ser fáciles de entender.
Suplemento:
El polinomio de interpolación lagrangiana también se puede escribir de la siguiente forma:
x0, y0 son las coordenadas de puntos conocidos, ***n punto .
x0 = [1, 2, 3];
y0 = [1, 8, 27]
n = longitud (x0); p>
p>
x es el punto deseado.
x = 4;
y = 0;
Para k = 1: n
temp = verdadero(tamaño(x0) );
temp(k)= false;
y = y y0(k)* prod(x-x0(temp))/prod(x0(k)-x0( temp));
Fin