Interpolacion Lineal
Bueno el siguiente problema es hallar el coseno de un angulo, usando para esto interpolacion linea.
Código:Angulo Cos 0 1 15 0.96592582 30 0.86602540 45 0.70710678 60 0.5 75 0.25881904 90 0
Primeramente debemos saber que se refieren con Interpolacion Linea:
Fuente: http://es.wikipedia.org/wiki/Interpolaci%C3%B3n_lineal
La formula o la idea final para este caso es aplicar esta formula en nuestro caso, pero antes debemos de entender bien lo que es interpolacion lineal para poder desarrollarlo.La interpolación lineal es un caso particular de la Interpolación general de Newton.
Con el polinomio de interpolación de Newton se logra aproximar un valor de la función f(x) en un valor desconocido de x. El caso particular, para que una interpolación sea lineal es en el que se utiliza un polinomio de interpolación de grado 1, y se denota de la siguiente manera:
Código PHP:
#include
int main()
{
int angle[7] = {0, 15, 30, 45, 60, 75, 90};
double cos[7] = {1, 0.96592582, 0.86602540, 0.70710678, 0.5, 0.25881904, 0};
int angulo;
int z;
printf("Ingrese el Angulo entre estos valores: \n");
for(z=0;z<7;z++)
printf("%d ",angle[z]);
printf("\nAngulo: ");
scanf("%d",&angulo);
int i,j;
int AnMax=0,AnMin=0;
for(i=0;i<7;i++)
{
if(angulo<angle[i])
{
AnMax = angle[i];
break;
}
}
for(j=7;j>-1;j--)
{
if(angulo>angle[j])
{
AnMin = angle[j];
break;
}
}
printf("El Angulo esta entre: %d > %d > %d\n",AnMax,angulo,AnMin);
double cosangulo;
cosangulo = (angulo - AnMin)/(AnMax - AnMin);
cosangulo = cosangulo*(cos[i] - cos[j]);
cosangulo = cosangulo + cos[j];
printf("El coseno de %d es: %10.8lf",angulo,cosangulo);
return 0;
}
Yo estoy obviando los valores mencionados o dados.
0 comentarios:
Publicar un comentario