Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(
(
(
457 . 0
525 . 0
616 . 0
1 500 250000
1 400 160000
1 300 90000
3
2
1
p
p
p
As, el problema se reduce a resolver el sistema algebraico de tres ecuaciones lineales para tres
coeficientes desconocidos. Usando Matlab se obtiene la solucin:
>> format long
>> A = [90000 300 1;160000 400 1;250000 500 1];
>> b = [0.616 0.525 0.457];
>> p = A\b
p =
0.00000115000000
-0.00171500000000
1.02700000000000
As, la parbola que pasa exactamente por los tres puntos es:
f(x) = 0.00000115x
2
0.001715x + 1.027
Este polinomio provee un medio para determinar los puntos intermedios. Por ejemplo, el valor de
densidad a una temperatura de 350 C puede ser calculado como
f(350) = 0.00000115(350)
2
0.001715(350) + 1.027 = 0.567625
Condicionamiento de una matriz. Hay sistemas en los que un pequeo cambio en los coeficientes
provoca un gran cambio en la solucin. Estos sistemas se llaman mal condicionados. Esto indica que el
sistema es muy sensible a los errores de redondeo y su solucin es poco fiable. Matlab dispone de una
medida del condicionamiento. La funcin cond toma valores de 1 hasta infinito. Cuanto mayor es cond,
peor es el comportamiento de la matriz. Para el ejemplo anterior:
>>cond(A)
ans =
5.8932e+006
Este nmero de condicionamiento, el cul es bastante grande para una matriz de 3x3, implica que cerca
de seis dgitos de la solucin sern cuestionables. El mal condicionamiento se vuelve peor a medida que
el nmero de ecuaciones se incrementa. Como consecuencia, hay mtodos alternativos para calcular los
coeficientes: mtodo de Newton y Lagrange.
Interpolacin lineal. La forma ms simple de interpolacin es conectar dos puntos de datos con una lnea
recta. Esta tcnica, llamada interpolacin lineal, se muestra en la siguiente grfica.
- Interpolacin polinomial de Newton.
Figura 3. Mtodo de interpolacin lineal de Newton
Usando tringulos semejantes:
1 2
1 2
1
1 1
) ( ) ( ) ( ) (
x x
x f x f
x x
x f x f
lo cul puede ser reordenado para obtener:
) (
) ( ) (
) ( ) (
1
1 2
1 2
1 1
x x
x x
x f x f
x f x f
+ = (2)
La cul es llamada la frmula de interpolacin lineal de Newton. La notacin f
1
(x) designa que es una
interpolacin lineal de primer orden. Note que ms all de la representacin de la pendiente de la lnea
conectando los dos puntos, el trmino [f(x
2
) f(x
1
)]/(x
2
x
1
)] es la aproximacin de diferencia finita de la
primera derivada. En general, mientras ms pequeo sea el intervalo mejor ser la aproximacin. Esto
es debido a que cuando el intervalo disminuye, una funcin continua ser aproximada de mejor forma a
una lnea recta.
-Ejemplo
. Estime el logaritmo natural de 2 usando interpolacin lineal. Primero, desempee el clculo
interpolando entre ln 1 = 0 y ln 6 = 1.791759. Luego, repita el procedimiento, pero use un intervalo ms
pequeo desde ln 1 a ln 4 (1.386294). Note que el valor verdadero de ln 2 es 0.6931472.
Solucin. Usando la ecuacin (2) con x
1
=1 y x
2
=6 tenemos:
3583519 . 0 ) 1 2 (
1 6
0 791759 . 1
0 ) 1 2 (
1 6
) 1 ( ) 6 (
) 1 ( ) 2 (
1
=
+ =
+ =
f f
f f
el cual representa un error del 48.3%. Usando un intervalo ms pequeo desde x
1
= 1 a x
2
= 4 tenemos:
4620981 . 0 ) 1 2 (
1 4
0 386294 . 1
0 ) 2 (
1
=
+ = f
As, usando un intervalo ms corto se reduce el porcentaje de error relativo al 33.3%. Ambas
interpolaciones son mostradas en la figura 4.
Figura 4. Dos interpolaciones lineales para estimar ln2.
Interpolacin cuadrtica. El error en el ejemplo anterior resulta de la aproximacin de una curva
mediante una lnea recta. Una estrategia para mejorar la estimacin es introducir una curva dentro de
la lnea que conecta los dos puntos. Si hay tres datos disponibles, esto puede ser acompaado con un
polinomio de segundo orden (tambin llamado polinomio cuadrtico o una parbola). Una forma
particularmente conveniente para este propsito es:
f
2
(x) = b
1
+ b
2
(x x
1
) + b
3
(x x
1
)(x x
2
) (3)
Un simple procedimiento puede ser usado para determinar los valores de los coeficientes. Para b
1
, de la
ecuacin (3) con x = x
1
se puede usar para calcular
b
1
= f(x
1
)
La cul puede ser sustituida dentro de la ecuacin (3) evaluando a x = x
2
para obtener:
1 2
1 2
2
) ( ) (
x x
x f x f
b
=
Finalmente las ecuacin es de b
1
y b
2
pueden ser sustituidas en (3), la cul puede ser evaluada en x = x
3
y
ser solucionada (despus de una manipulacin algebraica) para
1 3
1 2
1 2
2 3
2 3
3
) ( ) ( ) ( ) (
x x
x x
x f x f
x x
x f x f
b
=
-Ejemplo
. Emplee un polinomio de Newton de segundo orden para estimar ln 2 con los mismos tres
puntos usados en el ejemplo anterior.
x
1
= 1 f(x
1
) = 0
x
2
= 4 f(x
2
) = 1.386294
x
3
= 6 f(x
3
) = 1.791759
Solucin.
0518731 . 0
1 6
4620981 . 0
4 6
386294 . 1 791759 . 1
4620981 . 0
1 4
0 386294 . 1
0
3
2
1
=
=
=
=
=
b
b
b
Sustituyendo los valores en la ecuacin (3) origina la frmula cuadrtica:
f(x)=0+ 0.4620981(x 1) 0.0518731(x 1)(x 4)
la cul puede ser evaluada en x = 2 para f2(2) = 0.5658444, el cul representa un error relativo de 18.4%.
As, la curvatura introducida en la frmula cuadrtica mejora la interpolacin comparada con el
resultado obtenido a partir de una interpolacin lineal.
Figura 5. Comparacin entre la aproximacin lineal y cuadrtica.
Frmula general de la interpolacin polinomial de Newton. El anlisis anterior puede ser generalizado
para ajustar un polinomio de orden (n 1) a n puntos de datos. El polinomio de orden (n 1) es:
f
n1
(x) = b
1
+ b
2
(x x
1
) + + b
n
(x x
1
)(x x
2
) (x x
n1
) (4)
Como se hizo previamente con la interpolacin lineal y cuadrtica, los puntos de datos pueden ser
usados para evaluar los coeficientes b
1
, b
2
, . . . , b
n
. Para un polinomio de orden (n 1), n punto de datos
son requeridos: [x
1
, f(x
1
)], [x
2
, f(x
2
)], . . . , [x
n
, f(x
n
)]. Se usan estos datos y las siguientes ecuaciones para
evaluar los coeficientes:
b
1
= f(x
1
)
b
2
= f[x
2
, x
1
]
b
3
= f[x
3
, x
2
, x
1
]
...
b
n
= f[x
n
, x
n1
, . . . , x
2
, x
1
]
donde las evaluaciones de las funciones entre parntesis son las diferencias finitas divididas. Por
ejemplo, la primer diferencia finita dividida se representa generalmente como:
| |
j i
j i
j i
x x
x f x f
x x f
=
) ( ) (
,
La segunda diferencia finita dividida, la cual representa la diferencia de las dor primeras diferencias
finitas divididas es expresada generalmente como:
| |
| | | |
k i
k j j i
k j i
x x
x x f x x f
x x x f
=
, ,
, ,
Similarmente, la diferencia finita dividida ensima es:
| |
| | | |
1
2 1 2 1
1 2 1
,..., ,..., ,
, ,..., ,
x x
x x f x x x f
x x x x f
n
n n n
n n
Figura 6. Representacin grfica de la naturaleza recursiva de la diferencias finitas divididas.
-Ejemplo
. En el ejemplo anterior los datos x
1
= 1, x
2
= 4, y x
3
= 6 fueron usados para estimar el ln 2 con
una parbola. Ahora, adicionando un cuarto punto [x
4
= 5; f(x
4
) =1.609438], estime el ln 2 con una
interpolacin polinomial de Newton de orden 3.
Solucin. El polinomio de tercer orden con cuatro datos es:
f
3
(x) = b
1
+ b
2
(x x
1
) + b
3
(x x
1
)(x x
2
) + b
4
(x x
1
)(x x
2
)(x x
3
)
Las primeras diferencias divididas del problema son:
| |
| |
| | 1823216 . 0
6 5
791759 . 1 609438 . 1
,
2027326 . 0
4 6
396294 . 1 791759 . 1
,
4620981 . 0
1 4
0 396294 . 1
,
3 4
2 3
1 2
=
=
=
=
=
=
x x f
x x f
x x f
Las segundas divisiones son:
| |
| | 02041100 . 0
4 5
2027326 . 0 1823216 . 0
, ,
05187311 . 0
1 6
4620981 . 0 2027326 . 0
, ,
2 3 4
1 2 3
=
=
=
=
x x x f
x x x f
La tercera divisin es:
| | 007865529 . 0
1 5
) 05187311 . 0 ( 02041100 . 0
, , ,
1 2 3 4
=
= x x x x f
As, la tabla de diferencias divididas es:
x
i
f(x
i
) Primera Segunda Tercera
1 0 0.4620981 -0.05187311 0.007865529
4 1.386294 0.2027326 -0.02041100
6 1.791759 0.1823216
5 1.609438
Los resultados para f(x
1
), f[x
2
, x
1
], f[x
3
, x
2
, x
1
], y f[x
4
, x
3
, x
2
, x
1
] representan los coeficientes b
1
, b
2
, b
3
, y b
4
,
respectivamente. As, la interpolacin cbica es
f
3
(x) = 0 + 0.4620981(x 1) 0.05187311(x 1)(x 4) + 0.007865529(x 1)(x 4)(x 6)
la cual puede ser usada para evaluar f
3
(2) = 0.6287686, el cual representa un error relativo de 9.3%.
Figura 7. Interpolacin cbica.
Archivo-m para la interpolacin de Newton
function yint = Newtint(x,y,xx)
% Newtint: Newton interpolating polynomial
% yint = Newtint(x,y,xx): Uses an (n - 1)-order Newton
% interpolating polynomial based on n data points (x, y)
% to determine a value of the dependent variable (yint)
% at a given value of the independent variable, xx.
% input:
% x = independent variable
% y = dependent variable
% xx = value of independent variable at which
% interpolation is calculated
% output:
% yint = interpolated value of dependent variable
% compute the finite divided differences in the form of a
% difference table
n = length(x);
if length(y)~=n, error('x and y must be same length'); end
b = zeros(n,n);
% assign dependent variables to the first column of b.
b(:,1) = y(:); % the (:) ensures that y is a column vector.
for j = 2:n
for i = 1:n-j+1
b(i,j) = (b(i+1,j-1)-b(i,j-1))/(x(i+j-1)-x(i));
end
end
% use the finite divided differences to interpolate
xt = 1;
yint = b(1,1);
for j = 1:n-1
xt = xt*(xx-x(j));
yint = yint+b(1,j+1)*xt;
end
Utilizndolo en el ejemplo:
>> format long
>> x = [1 4 6 5];
>> y = log(x);
>> Newtint(x,y,2)
ans = 0.62876857890841
Referencias:
- J. Kiusalaas, Numerical methods in engineering with Matlab, Cambridge University Press (2005).
- S.C. Chapra, Applied numerical methods with Matlab, Mc Graw Hill (2008).
- C. Woodford y C. Phillips, Numerical methods with worked examples, Springer (1997).