ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Interpolación de Lagrange


Enviado por   •  29 de Mayo de 2017  •  Informe  •  4.503 Palabras (19 Páginas)  •  341 Visitas

Página 1 de 19

Interpolación de Lagrange

Hallar el polinomio interpolador para los siguientes ejercicios y aproxime en el punto dado, con el fin de observar el comportamiento de las x en el eje y. Para la solución de estos ejercicios solo es necesario conocer los valores que toman x en y, donde el algoritmo encontrara el polinomio interpolador y pedirá si desea interpolar un valor en x.

  1. x = [1, 4, 6]              y = [1.5709, 1.5727, 1.5751]  evaluar en el punto x = 3.6
  1. x = [4, 5, 6, 8]          y = [-10.7568, -10.9589, -10.2794, -9.0106]   evaluar en el punto x=12
  1. x = [1, 3, 4, 7]           y = [2, 7, 9, 15]      evaluar en el punto x = 6
  1. x = [2,4, 7, 9, 12, 15]       y = [4,6, 9, 12, 11, 3] evaluar en el punto x = 5
  1. x = [-4,-1, 0, 2, 5, 7, 9] y = [-3, 0, 4, 8, 14,-5, 4] punto x = -3

Para solucionar los ejercicios debemos utilizar el siguiente código:

% INTERPOLACION "POLINOMIO DE LAGRAGE"

 

clc %permite borrar el area de trabajo

 

clear %permite borrar las variables almacenadas

 

format long %permite utilizar la maxima capacidad de la maquina

 

fprintf('INTERPOLACION "POLINIMIO DE LAGRAGE"\n\n\n');

 

%fprintf me permite ingresar comentarios de manera textual que pueden

 

%orientar al usuario en el uso del programa

 

xi=input('Ingrese los puntos pertenecientes a las x: ');

 

yi=input('Ingrese los puntos pertenecientes a las y: ');

 

%input es un comando de solicitud de entrada de datos del usuario.

 

n=length(xi);

 

x=sym('x'); %esta funcion nos permite dejar la variable 'x' como simbólica

 

% y asi poder trabajar con ella, sin tener que asignarle un valor.

 

for j=1:n

 

producto=1;

 

for i=1:j-1

 

producto=producto*(x-xi(i)); %calculo del producto 1 superior de L

 

end

 

producto2=1;

 

for i=j+1:n

 

producto2=producto2*(x-xi(i)); %calculo del producto 2 superior de L

 

end

 

producto3=1;

 

for i=1:j-1

 

producto3=producto3*(xi(j)-xi(i)); %calculo del producto 3 inferior de L

 

end

 

producto4=1;

 

for i=j+1:n

 

producto4=producto4*(xi(j)-xi(i)); %calculo del producto 4 inferior de L

 

end

 

L(j)=(producto*producto2)/(producto3*producto4); %cálculos de las L para

 

fprintf('\n L%d:\n',j-1) %poder hallar el polinomio

 

disp(L(j)) %la función dispo nos permite visualizar variables o texto

 

% en el workspace

 

end

 

pn=0;

 

for j=1:n

 

pn=pn+L(j)*yi(j); %calculo del polinomio interpolante

 

end

 

fprintf('\n POLINOMIO INTERPOLANTE: \n')

 

%disp(pn) % esta ejecucion la podemos utilizar cuando no necesitamos

 

%simplicar la expresion

 

pn = simplify(pn); %este comando nos permite simplificar toda la expresion

 

disp(pn)

 

opc=input('\nDesea aproximar un valor (si/no): ','s');

 

%este comando nos permite saber si el usuario quiere obtener una

...

Descargar como (para miembros actualizados) txt (17 Kb) pdf (271 Kb) docx (61 Kb)
Leer 18 páginas más »
Disponible sólo en Clubensayos.com