Interpolación polinómica

Solo disponible en BuenasTareas
  • Páginas : 7 (1530 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de noviembre de 2010
Leer documento completo
Vista previa del texto
Análisis Numérico y Cálculo Avanzado

Trabajo Práctico:
Proyecto Nº 2 - Interpolación `Polinomica

Grupo Nº: 3

[pic]
Introducción

Implementación:

Grupo 3:(
t=[0 3 6 9 12 15 18 21 24]
temp=[8.3 6.3 8.3 12.3 18.3 19.3 14.3 9.3 8.3]
a)
a.i) Método Coeficientes indeterminados - Lagrange

Y=[8.3 6.3 8.3 12.3 18.3 19.3 14.3 9.3 8.3]';
X=[0 3 6 9 12 15 18 2124];
j=1;
A=zeros(9,9);
for i= 1:9
k=8;
for z= 1:8
A(i,z)=X(1,j)^k;
k= k-1;
end;
j=j+1;
end;
for i= 1:9;
A(i,9)=1;
end;
C=A\Y;
display(C);
grid on;
new_t = 0:0.1:24;
temp_linear = interp1(X,Y,new_t, 'linear');
temp_cubic = interp1(X,Y,new_t, 'spline');
plot (new_t, temp_linear, new_t, temp_cubic, X, Y, 'o')

Coeficientes Obtenidos:
1.3609e-007-1.4516e-005
6.3062e-004
-1.4255e-002
1.7818e-001
-1.2227e+000
4.4007e+000
-6.6635e+000
8.3000e+000

Polinomio de Lagrange:

P(x)= 1.3609e-7 .X8 -1.4516e-5 .X7 + 6.3062e-4 .X6 -1.4255e-2. X5 + 1.7818e-1. X4
-1.2227.X3 + 4.4007.X2 -6.6635.X1 + 8.3000

a.ii)
Método de Newton

format long;
a=zeros(9,1);
display(a);
t=[0 3 6 9 12 15 18 21 24]';temp=[8.3 6.3 8.3 12.3 18.3 19.3 14.3 9.3 8.3]';
dif=zeros(9,9); %matriz "dif" de 9x9
display(dif);
for j= 1:9 %se llena la columna uno con los valores de temp.
dif(j,1)=temp(j,1);
end;
display(dif);
for j=2:9
for i= 1:9-j+1
dif(i,j)=dif(i+1,j-1) - dif(i,j-1);
x1= t(i,1);
x2= t(i+j-1,1);
dif(i,j)=dif(i,j)/(x2-x1);
end;
end;
%se lleno lamatriz con las diferencias divididas.
display(dif);
% dif es una matriz de 9x9. los números de la fila 1 de las distintas
% columnas son los coeficientes del polinomio.
a continuación voy a mostrar los coeficientes:
for i= 1:9
a(i,1)=dif(1,i);
end;
display('argumentos');
display(a);

for i= 1:9
a(i,1)=dif(1,i);
end;

Coeficientes:
8.3000e+000
-6.6667e-0012.2222e-001
-1.2346e-002
1.0288e-003
-3.0864e-004
4.1914e-005
-3.0846e-006
1.3609e-007

Expresión del polinomio de newton:

P(x)= 8.3 - 6.6667e-1. (x-x0) +2.2222e-1. (x-x0)(x-x1) -1.2346e-2. (x-x0)(x-x1)(x-x2)
+1.0288e-3 . (x-x0)(x-x1)(x-x2)(x-x3) -3.0864e-4 . (x-x0)(x-x1)(x-x2)(x-x3)(x-x4) +
+4.1914e-5.(x-x0)(x-x1)(x-x2)(x-x3)(x-x4) (x-x5)-3.0846e-6.(x-x0)(x-x1)(x-x2)(x-x3)(x-x4) (x-x5) (x-x6)
+1.3609e-7.(x-x0)(x-x1)(x-x2)(x-x3)(x-x4) (x-x5) (x-x6) (x-x7)

b)
Función Horner - Algoritmo de Horner Expresión anidada de Newton

function u= horner(dif,t,x)
n=length(t);
u=dif(1,n)
for i=n-1:-1:1
u=dif(1,i) + u*(x-t(i,1));
end;
end;
[pic]

Funcion GraficarPolinomio
x = 0:1:25
y=zeros(1,24);figure(1); %hace que grafique sobre el la misma figura.
new_t = 0:0.1:24;
temp_cubic = interp1(t,temp,new_t, 'spline');
for i=0:24
y=horner(dif,t,i);
hold on;
plot(i,y,'bx',new_t, temp_cubic,'m');
end;
title('Funcion de Newton por Horner')
xlabel('Tiempo')
ylabel('Temperatura')
legend('Polinomio de Newton','splines');
axis ([-1 26 -1 26]);

c) Estimación de temperatura paralas 14 y las 23 horas:

[pic]

[pic]

[pic]

d) Ahora se repiten los puntos anteriores pero con la temperatura de las 15 hs con un valor de 25,3ºC.
t=[0 3 6 9 12 15 18 21 24]
temp=[8.3 6.3 8.3 12.3 18.3 25.3 14.3 9.3 8.3]

-Método de Coeficientes indeterminado.

Coeficientes Obtenidos:

-1.1340e-006
1.0361e-004
-3.8390e-003
7.4257e-002
-8.0371e-0014.8155e+000
-1.4399e+001
1.5737e+001
8.3000e+000

Polinomio de Lagrange:

P(x)= -1.1340e-6. X8 +1.0361e-4 .X7 -3.8390e-3.X6 +7.4257e-2. X5 -8.0371e-1. X4
4.8155.X3 + -14.399.X2 15.737.X1 + 8.3

-Método de Newton

Coeficientes Obtenidos:

8.3000e+000
-6.6667e-001
2.2222e-001
-1.2346e-002
1.0288e-003
-1.0288e-004
-2.6673e-005
8.3466e-006...
tracking img