Red de conocimiento informático - Aprendizaje de código fuente - Puntos clave de las habilidades de programación de experimentos numéricos

Puntos clave de las habilidades de programación de experimentos numéricos

¿Qué interpolación quieres, newtoniana, lagrangiana, hermitiana o hermitiana cúbica?

Habla claro y no me dejes trabajar en vano.

Nunca volví hasta ahora. Te escribiré cuando termine de comer.

Después de terminar, no puedes seleccionar esos tres puntos como puntos de interpolación, el error es demasiado grande. Elegí 1/5, 1/4, 1/2. El resultado final es solo ligeramente diferente del resultado calculado usando la función de potencia, con un error de 0.0005 (principalmente porque la entrada no es muy precisa. Si es suficiente,

Ingrese el número de nodo: 3

Ingrese 1 punto:

0.5 1.732

Ingrese 2 puntos:

0,25 1,316

Ingrese 3 puntos:

0,2 1,245731

Ingrese el punto de prueba

0,333333

El valor de 3 :

/********************************* ***

Método de interpolación lagrangiana para encontrar el valor en 3 veces

*********************** *********** *******/

# incluir & ltstdio.h & gt

# incluir & ltstdlib.h & gt

# incluir & ltmath. h & gt

estructura typedef

{

doble x, y

} punto;

doble lagrangiano(punto*nodo, entero n, doble x)

{

int i, j;

doble s1, s2, s = 0 ;

for(I = 0;i<n;i++)

{

s 1 = 1;

S2 = 1 ;

for(j = 0; j & ltn; j++)

si (i! = j)

s1*= x nodo[j]. x;

for(j = 0; j & ltn; j++)

if (i! = j)

s2 * = nodo[i]. x nodo[j]. >

}

int main()

{

int

; p>

Doble x;

printf("Ingrese el número de nodo:");

scanf("%d ", & ampn);

Punto*nodo=(punto*)malloc( n*tamañode(punto));

for(I = 0;i<n;i++)

{

printf("Ingrese %d " "Punto:\n ", I+1);

scanf("%lf%lf ", & amp node[i]. x & nodo[i].

y);

}

printf("Ingrese el punto de prueba\ n ");

scanf("%lf ", & ampx); /p>

p>

printf("El valor de 3x en %lf es %lf:\n ", x, Lagrangiano (nodo, n, x));

Printf( "Cálculo por computadora El resultado es: %lf\n ", pow(3, 0.3333));

Printf("Error de truncamiento: % f \n ", 0.5 * 1.732 * 0.166667 * 0.08333); /p>

Libre(nodo);

Devuelve 0;

}