Está en la página 1de 4

INTERPOLACIÓN

Interpolación Lineal
Sea la siguiente tabla que representa la temperatura de ebullición de la acetona (C3H6O)
a diferentes presiones:
Puntos 0 1 2 3 4 5 6
T(°C) 56.5 78.6 113.0 144.5 181.0 205.0 214.5
P(atm) 1 2 5 10 20 30 40

Hallar la temperatura a 3 atm:


clear all
clc
format long
syms a b
p(1)=a+b*2;
p(2)=a+b*5;
M=[1 2 78.6;1 5 113];
b=34.4/3;
a=78.6-2*b;
syms x
y=a+b*x
%3
r=a+3*b
disp('La temperatura a 3 atm es:')
disp(r)

Corriendo el programa
y=

(172*x)/15 + 167/3

La temperatura a 3 atm es:


90.066666666666663
INTERPOLACIÓN CUADRÁTICA
Hallar la temperatura a 2 atm
clear all
clc
syms a b c
p(1)=a+b*1+c*1^2;
p(2)=a+b*5+c*5^2;
p(3)=a+b*20+c*20^2;
M=[1 1 1;1 5 25;1 20 20^2];
m=[56.5;113;181];
sol=M\m;
syms x
y=sol(1)+sol(2)*x+sol(3)*x^2;
format short
disp('la ecuación que se obtiene es:')
disp(vpa(y))
%2
r=sol(1)+sol(2)*2+sol(3)*2^2;
format short
disp('La temperatura a 3 atm es:')
disp(r)

Corriendo el programa
la ecuación que se obtiene es:
- 0.50482456140350877192982456140351*x^2 +
17.153947368421052631578947368421*x + 39.850877192982456140350877192982

La temperatura a 3 atm es:


72.1395
POLINOMIO DE LAGRANGE
Obtenga la aproximación polinomial de Lagrange con todos los puntos de la anterior
tabla menos para la presión 2 e interpole el valor para P=2atm
%Interpolación Lagrange
format bank
clc
syms x
L0=((x-5)*(x-10)*(x-20)*(x-30))/((1-5)*(1-10)*(1-20)*(1-30));
L1=((x-1)*(x-10)*(x-20)*(x-30))/((5-1)*(5-10)*(5-20)*(5-30));
L2=((x-1)*(x-5)*(x-20)*(x-30))/((10-1)*(10-5)*(10-20)*(10-30));
L3=((x-1)*(x-5)*(x-10)*(x-30))/((20-1)*(20-5)*(20-10)*(20-30));
L4=((x-1)*(x-5)*(x-10)*(x-20))/((30-1)*(30-5)*(30-10)*(30-20));
e=L0*56.5+L1*113+L2*144.5+L3*181+L4*205;
e2=subs(e,2);
disp(e2);
disp('El valor de la temperatura a 2 atm es')
disp(vpa(e2))

CORRIENDO EL PROGRAMA
El valor de la temperatura a 2 atm es
74.583551361161524500907441016334
DIFERENCIAS DIVIDIDAS
Elaborar un cuadro de diferencias divididas con la anterior tabla
presión temperatura primera segunda tercera cuarta quinta

1 56.5 22.3 -2.7 0.22777778 -0.01012671 0.00029349

2 78.6 11.5 -0.65 0.03537037 -0.00161561 6.1463E-05

5 113 6.3 -0.01333333 -0.00986667 0.00072

10 144.5 6.1 -0.26 0.01533333

20 181 0.9 0.2

30 205 4.9

40 214.5

APROXIMACIÓN POLINOMIAL DE NEWTON


Hallar la temperatura a 2 atm usando el polinomio de Newton para la anterior tabla:
%newton
clear all
puntos=[0 1 2 3 4 5 ];
p=[1 5 10 20 30 40];
t=[56.5 113 144.5 181 205 214.5];
a1=(t(2)-t(1))/(p(2)-p(1));
a2=(t(3)-t(2))/(p(3)-p(2));
a3=(t(4)-t(3))/(p(4)-p(3));
a4=(t(5)-t(4))/(p(5)-p(4));
a5=(t(6)-t(5))/(p(6)-p(5));
A=[a1 a2 a3 a4 a5];
b1=((A(2)-A(1))/((p(3)-p(1))));
b2=((A(3)-A(2))/((p(4)-p(2))));
b3=((A(4)-A(3))/((p(5)-p(3))));
b4=((A(5)-A(4))/((p(6)-p(4))));
B=[b1 b2 b3 b4];
c1=((B(2)-B(1))/(p(4)-p(1)));
c2=((B(3)-B(2))/(p(5)-p(2)));
c3=((B(4)-B(3))/(p(6)-p(3)));
C=[c1 c2 c3];
d1=((C(2)-C(1))/(p(5)-p(1)));
d2=((C(3)-C(2))/(p(6)-p(2)));
D=[d1 d2];
e1=((D(2)-D(1))/(p(6)-p(1)));
syms x
p5=t(1)+A(1)*(x-p(1))+B(1)*(x-p(1))*(x-p(2))+C(1)*(x-p(1))*(x-
p(2))*(x-p(3))+D(1)*(x-p(1))*(x-p(2))*(x-p(3))*(x-p(4))+e1*(x-
p(1))*(x-p(2))*(x-p(3))*(x-p(4))*(x-p(1))*(x-p(2))*(x-p(3))*(x-p(5));
pr2=subs(p5,x,2);
disp('El valor de la temperatura para una presión de 2 atm es:')
vpa(pr2)

CORRIENDO EL PROGRAMA

>> newton2
El valor de la temperatura para una presión de 2 atm es:
81.728295138908281444576956066926

POLINOMIO DE NEWTON EN DIFERENCIAS FINITAS


INTERPOLACIÓN HACIA ADELANTE

En la tabla

Puntos 0 1 2 3 4 5
T(°F) 50 60 70 80 90 100
P(lb/plg ) 24.94
2 30.11 36.05 42.84 50.57 59.30

Hallar la presión a una temperatura de 72°F hacia adelante


y hacia atrás

%INTERPOLACION ADELANTE
clc
x=[50 60 70 80 90 100];
y=[24.94 30.11 36.05 42.84 50.57 59.3];
a1=((y(2)-y(1)));
a2=((y(3)-y(2)));
a3=((y(4)-y(3)));
a4=((y(5)-y(4)));
a5=((y(6)-y(5)));
A=[a1 a2 a3 a4 a5];
b1=((A(2)-A(1)));
b2=((A(3)-A(2)));
b3=((A(4)-A(3)));
b4=((A(5)-A(4)));
B=[b1 b2 b3 b4];
c1=((B(2)-B(1)));
c2=((B(3)-B(2)));
c3=((B(4)-B(3)));
C=[c1 c2 c3];
d1=((C(2)-C(1)));
d2=((C(3)-C(2)));
D=[d1 d2];
E=((D(2)-D(1)));
s=(64-50)/10;
%EXTRAPOLANDO
p1=y(1)+s*A(1);
%INTERPOLANDO
q=(64-60)/10;
p11=y(2)+q*A(2);
p2=y(1)+s*A(1)+((s*(s-1))/2)*B(1);
%GRADO 4 ADELANTE
format short
r=(72-50)/10;
p4=y(1)+r*A(1)+((r*(r-1))/2)*B(1)+(((r*(r-1)*(r-2))/6)*C(1))+(((r*(r-
1)*(r-2)*(r-3)/24))*D(1))
%GRADO 4 ATRÁS
o=(72-100)/10;
p14=y(6)+o*A(5)+((o*(o+1))/2)*B(4)+(((o*(o+1)*(o+2))/6)*C(3))+(((o*(o+
1)*(o+2)*(o+3)/24))*D(2))

Corriendo el programa
El valor de p hacia adelante es:
37.34
El valor de p hacia atrás es: 37.34

También podría gustarte