Interpolacion Numerica
ger337 de Abril de 2014
324 Palabras (2 Páginas)538 Visitas
Practica No. 7:
INTERPOLACION NUMERICA
Integrantes:
Fecha de entrega: 28/03/2014
Introducción
Un conjunto de puntos en un plano, pueden ser unidos por medio de diferentes funciones, las cuales nos ayudan a modelar sistemas físicos.
Para obtener estas funciones se pueden utilizar deferentes métodos, que nos ayudan a calcular valores intermedios entre el conjunto de puntos determinados. A este proceso es al que se le conoce como interpolación numérica.
Objetivo:
El alumno podrá obtener una función que contenga un conjunto dado de puntos en un plano, utilizando los modelos de interpolación de lagrange y newton en lenguaje c.
Método de lagrange:
#include <conio.h>
#include <stdio.h>
#include <math.h>
main(void){
float X[100]={0},fx[100]={0},xo,fxo=0,aux;
int i,j,n;
printf("==============POLINOMIO DE LAGRANGE==============");
printf("\n\n\n INTERPOLACION NUMERICA");
printf(" \n\n\t\tIntroduzca el numero de puntos conocidos: ");
scanf("%d",&n);
printf(" Introduzca los valores: \n");
for(i=0;i<=(n-1);i++){
printf("\n X(%d) = ",i);
scanf("%f",&X[i]);
printf(" f(%d) = ",i);
scanf("%f",&fx[i]);
}
printf("\n Introduzca el valor de K = ");
scanf("%f",&xo);
for(i=0;i<=(n-1);i++){
aux=fx[i];
for(j=0;j<=(n-1);j++){
if(j!=i){
aux*=(xo-X[j])/(X[i]-X[j]);
}
}
fxo+=aux;
}
printf("\nf(%.4f) = %.10f \n",xo,fxo);
getch();
return 0;
}
Metodo de avance de newton
#include <stdio.h>
#include <math.h>
#include <conio.h>
main(void){
int i,j;
int N;
double X[20];
double Y[20];
double FILA1[20];
double Yk;
double K;
double H;
double AS;
double Resultado= 0;
unsigned long Factorial= 1;
printf("\n\n\n********************** POLINOMIO DE AVANCE DE NEWTON:*************************");
printf("\n\n\n Introduzca el numero de puntos en la tabla: ");
scanf("%d",&N);
for (i=0;i<N;i++){
printf("Introduzca X%d:",i);
scanf("%lf",&(X[i]));
printf("Introduzca Y%d:",i);
scanf("%lf",&(Y[i]));}
FILA1[0]= Y[0];
for (i=1;i<N;i++){
for (j=0;j<N-i;j++){
Y[j]= Y[j+1]-Y[j];}
FILA1[i]= Y[0];}
printf("Ingrese el valor de xk:");
scanf("%lf",&Yk);
H= X[1]-X[0];
K= (Yk-X[0])/H;
Resultado= FILA1[0];
AS= K;
for (i=1;i<N;i++){
Resultado= Resultado + AS*FILA1[i]/Factorial;
AS= AS*(K-i);
Factorial= Factorial*(i+1);}
printf("P(%f)Yk= %f",Yk,Resultado);
getch();}
Conclusion:
En esta práctica me pude dar cuenta de la importancia de la interpolación numérica ya que al hacer los programas en lenguaje c es más fácil para obtener resultados como conocer los diferentes métodos para obtener los resultados.
...