Sei sulla pagina 1di 8

Analisis numérico

Tarea 2
Ejercicios
1. Estime el logaritmo natural de 10 por medio de interpolación lineal.

a) Interpole entre ln 8 = 0.9030900 y ln 12 = 1.0791812


b) Interpole entre ln 9 = 0.9542425 y ln 11 = 1.0413927

Para cada interpolación calcular el error relativo porcentual con base en el valor verdadero.

2. Ajuste un polinomio de interpolación de Newton de segundo grado para estimar el l ln 10


con los datos x=8 , 9 y 11. Calcule el error relativo porcentual.

x 0 =8 ¿ f ( x 0 )=2.0794415
x 1=9 ¿ f ( x 1 )=2.1972245
x 2=11 ¿ f ( x 2 )=2.3978952

Procedimiento matemático
Ejercicio 1
Ejercicio 2
Código en C++
Ejercicio 1
#include<iostream>
#include<math.h>

using namespace std;

int main(){
float x, x1, x2, y, op=0,err;
cout<<"Ingrese el valor en el que se aproximara la funcion ln: ";
cin>>x;
do{
cout<<"Ingrese un valor inferior: ";
cin>>x1;
cout<<"Ingrese un valor superior: ";
cin>>x2;
y=(x-x1)*(log(x2)-log(x1))/(x2-x1)+log(x1);
cout<<"El resultado de la interpolacion es: "<<y<<endl;
err=100*fabs(log(x)-y)/log(x);
cout<<"El error relativo porcentual es: "<<err<<"%"<<endl;
cout<<"Desea realizar una nueva aproximacion? (Si=0, No=otro numero): ";
cin>>op;
}while(op==0);
return 0;
}

Ejercicio 2

#include<iostream>
#include<math.h>
using namespace std;
int main(){
float F[3][3];
float x[3];
float pol,sum=0,mult[2]={1,1};
float X,err;
cout<<"Este programa utiliza el metodo de polinomio de interpolacion de Newton"<<endl
<<"para realizar una aproximacion en la funcion ln."<<endl;
cout<<"Ingrese numero a evaluar: ";
cin>>X;
for(int i=0;i<3;i++){
cout<<"Ingrese valor de x"<<i<<": ";
cin>>x[i];
}
F[0][0]=log(x[0]);
F[1][0]=log(x[1]);
F[2][0]=log(x[2]);
for(int i=1;i<=2;i++){
for(int j=1;j<=i;j++){
F[i][j]=(F[i][j-1]-F[i-1][j-1])/(x[i]-x[i-j]);
}
}
for(int i=1;i<=2;i++){
for(int j=0;j<i;j++){
mult[i-1]=mult[j]*(X-x[j]);
}
}
for(int i=1;i<=2;i++){
sum=sum+F[i][i]*mult[i-1];
}
pol=F[0][0]+sum;
cout<<pol<<endl;
err=100*fabs(pol-log(10))/log(10);
cout<<"El error relativo porcentual es: "<<err<<"%";
return 0;
}

Captura de pantalla del resultado


Ejercicio 1

Ejercicio 2

Potrebbero piacerti anche