Está en la página 1de 3

Polinomio de interpolacion de Hermite

=====================================
Para obtener los polinomios de interpolacion mediante el metodo de hermite se ne
cesita las coordenadas del punto (x,y) y
ademas la derivada en ese punto.
El polinomio que se obtiene cuando se consideran 2 puntos es de grado 3, si se c
onsidera 3 puntos el polinomio es de grado 5,
si si se considera 4 puntos es de grado 7 (va subiendo de 2 a 2 el grado que seal
a).
Xi
Yi
Yi'
----------------------2
5
-0.20
4
1
0.15
H(x) = polinomio de intrpolacion de hermite
n = # datos
H(x) = sumatoria[i=1:n=2](1-2*Li'(xi)*(x-xi))*[Li(x)]*yi + (x-xi)*(Li(x)
)*yi'
i=1
i=2

H1 = (1-2*L1(x1)'*(x-x1))*(L1(x))*y1+(x-x1)*[L1(x)]*y1'
H2 = (1-2*L2(x2)'*(x-x2))*(L2(x))*y2+(x-x2)*[L2(x)]*y2'

H(x) = H1 + H2

x1 = 2
y1 = 5
y1'= -0.20

x2 = 4
y2 = 1
y2'= 0.15

L1(x)= (X - x2)
------x1 - x2

L2(x)= (X - x1)
------x1 - x2

Li(x) = x-4
= (4-x)/2
-----2 - 4

L2(x) = (x-2) = (x-2)/2


----4 - 2

L1(x)' = -1/2

L2(x)' = 1/2

Li(x1)'= -1/2

L2(x2)' = 1/2

aca codigo matlab


hasta aca el codigo matlab estaba malll
el correcto es:
>> x1=2; y1=5; y1d=-0.20;
>> x2 = 4; y2 = 1; y2d=0.15;
>> L1=(4-X)/2; L2=(X-2)/2;
??? Undefined function or variable 'X'.

>>
>>
>>
>>
>>
>>
>>
>>

syms X
L1=(4-X)/2; L2=(X-2)/2;
L1d=-1/2; L2d = 1/2;
H1=(1-2*L1d*(X-x1))*((L1)^2)*y1+(X-x1)*((L1)^2)*y1d;
H2=(1-2*L2d*(X-x2))*((L2)^2)*y2+(X-x2)*((L2)^2)*y2d;
Hx=H1+H2;
Hx = expand(Hx);
Hx = simplify(Hx)

Hx =
-14+463/20*X-44/5*X^2+79/80*X^3
>> pretty (Hx)
463
2 79 3
-14 + --- X - 44/5 X + -- X
20
80
>> valor = subs(Hx,X,3)
valor =
2.9125
>> xx=[x1 x2]'
xx =
2
4
>> yy=[y1 y2]'
yy =
5
1
>>
>>
>>
>>

plot(xx,yy,'go');
hold on
fplot('-14+463/20*X-44/5*X^2+79/80*X^3',[2 4],'r')
grid

%barbas saca otra wea....


para otra forma de comprobacion
>> %para comprobar
>> subs(Hx,X,2)

%deberia dar 5

ans =
5.0000
>> subs(Hx,X,4)
ans =

% deberia dar 1

1.0000
otra forma
>> r1 = diff(Hx,X,1)%derivada de Hx, con respecto a X 1 vez
r1 =
463/20-88/5*X+237/80*X^2
>> subs (r1,X,2)
ans =

deberia dar -0.20

-0.2000
>> subs (r1,X,4)
ans =

deberia dar 0.15

0.1500
como todo da lo q deberia dar se satisface y esta bn...