Compilador: Borland C++
Código:
# include <stdio.h>
# include <conio.h>
#include <iostream.h>
# include <malloc.h>
# include <stdio.h>
void lagrange(float x, double X[], double y[], int Lit)
{
double r=0, num=1, den=1;
for(int i=0; i<Lit;i++){ //para el total de polinomios
for(int j=0; j<Lit;j++){ //para cada polinomio
if (i!=j){ num*=(x - X[j]); den*=(X[i] - X[j] ); }
}
num*=y[i];
printf("Iteracion %d valor %lf\n", i, num/den);
getch();
r+=num/den;
num=den=1;
}
cout<<"\nf("<<x<<")= "<< r;
}
void main()
{
int m,i, medio;
double *X,*Y,x;
clrscr();
printf("Ingresa n puntos deseados:\n\t\t");
scanf("%d",&m);
X=(double*)malloc(sizeof(double)*m);
printf("Ingresa los valores de X de la tabla:\n");
for(int i=0; i<m; i++) scanf("%lf", &X[i]);
Y=(double*)malloc(sizeof(double)*m);
printf("\nIngresa los valores de Y de la tabla:\n");
for(i=0; i<m; i++) scanf("%lf", &Y[i]);
// cout<<"\nLa ecuacion de la recta de ajuste es: \ty="<<endl;
printf("\nEscribe el valor X que se desea interpolar:\n");
scanf("%lf",&x);
lagrange(x, X, Y, m);
getch();
}
No hay comentarios:
Publicar un comentario