Red de conocimiento informático - Consumibles informáticos - Recompensa por puntuación alta: encuentre el programa de cálculo de interpolación en lenguaje C para puntos de datos tridimensionales

Recompensa por puntuación alta: encuentre el programa de cálculo de interpolación en lenguaje C para puntos de datos tridimensionales

Suplemento de pregunta, debido al límite de palabras, movido aquí

1 Introducción a la interpolación lagrangiana:

Para los n nodos de interpolación dados x1, x2,.. .,xn, y sus valores de función correspondientes y1=f(x1), y2=f(x2),..., yn=f(xn); utilice la fórmula de interpolación lagrangiana para calcular la correspondencia en el punto x. valor de función f(x);

2. Programa de lenguaje c de interpolación de lagrange unidimensional:

Int lagrange(x0, y0, n, x, y)

p >

Flotante xo[], yo[], x;

Int n;

Flotante *y

{

Int i, j;

Float p;

*y=0

Si (ngt; 1)

{< / p>

Para(i=0;ilt;n;i)

{

P=1;

Para(j=1; jlt ; n; j )

{

Si(i!=J)

P=p*(x-x0[j]/x0[i ] -x0[j]);

}

*y=*y p*y0[i];

Retorno(0);

}

Else

Return(-1);

}

3. La función conocida se muestra en la siguiente tabla. Encuentre el valor de la función en x=0.472:

El programa en lenguaje C en cuestión es el siguiente:

#minclude stdio

#includeMlt;nath.hgt;

Principal()

{

Flotador x0[4]={ 0,46, 0,47, 0,48, 0,49 };

Flotante y0[4]={ 0.484655, 0.4903745, 0.502750, 0.511668};

Flotante x, y;

Int n, rtn;

N=4;

X=0.472;

Rth= lagrange(x0, y0, n, x, amp; y);

If(rtn=0)

{

Prinf(“Y(0.472) =: f\n", y);

}

Else

{

Prinf("n debe ser mayor que 1 .\n”);

}

}

Resultado del cálculo: Y(0.472)=: 0.495553

4. Suplemento de pregunta

Mi problema es similar al ejemplo anterior Calcule el valor de la función. (Vx, Vy, Vz) correspondiente a un punto (x, y, z) en el espacio tridimensional. La diferencia es que la variable independiente (point_coordinate.txt) son puntos dispersos en el espacio tridimensional (no vértices de a). cubo), la variable dependiente (point_data.txt) es un vector (vector). Existen muchos algoritmos de interpolación, como el método constante, la interpolación lagrangiana, la interpolación de Etkin, la interpolación spline de tercer orden, etc. El método más simple es el método constante. Encuentre las variables independientes conocidas (Xi, Yi, Zi) que están más cercanas al punto objetivo (x, y, z) y asigne el valor de la función de este punto al punto objetivo como una función. valor. Por favor ayuda.