Está en la página 1de 19

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Mecánica y Eléctrica


Unidad Profesional “Adolfo López Mateos”

Ingeniería en Comunicaciones y Electrónica

Academia de Computación

Análisis Numérico

Trabajo de investigación documental:


Sistemas de ecuaciones/Interpolación

Profesor:
José Antonio Bernal Mendoza

Grupo: 4CV7

Equipo: 5

Integrantes:
Arriaga Avalos Iván Alejandro
Garcia Rosales Noé
Otero Gómez David
Ruiz Miranda Daniel

Fecha de entrega: Abril 2018


INDICE

 Resumen……………………………………………………………………………………………………………………………………………….. 3
Objetivo general y particular
Justificación
Introducción

Marco teórico

 LU.…………………………..………….………………………………………………………………………………………………………………….4
 Algoritmo del programa………………………………………………………………………………………………………………………… 5
 CHOLESKY……………………………………………………………………………………………………………………………………………….8
 Algoritmo del programa………………………………………………………………………………………………………………………….11
 Desigualdad de Chebyshev……………………………………………………………………………………………………………………..13
 El problema general de interpolación……………………………………………………………………………………………………..14
 Interpolación de HERMITE………………………………………………………………………………………………………………………15
 Diferencias divididas: formula de newton
Algoritmo del programa………………………………………………………………………………………………………………………….16
 Conclusión………………………………………………………………………………………………………………………………………………19

2
Resumen

En el trabajo matemático diario de la ingeniería se resuelven múltiples ecuaciones para hallar variables desconocidas; por
lo que es importante estudiar las distintas técnicas de resolución y análisis de estas.

Este trabajo de investigación abordara distintas técnicas de resolución, las cuales podrán ser más o menos optimas
dependiendo del problema a resolver. Los métodos por analizar serán los siguientes: “Lu”, “Cholesky”, “Chebyshev”,
“Hermite” y por ultimo “Newton para dos ecuaciones”.

Existen muchos métodos para poder determinar el valor de una variable en un grupo de ecuaciones, pero este trabajo
solo está enfocado en los ya antes mencionados. Trabajamos para brindarle una explicación breve pero útil que ayude al
lector a entender rápidamente los métodos correctamente y que pueda darles el uso adecuado en su futuro académico o
laboral.

Objetivo general y particular

 General

Conocer un mayor número de métodos numéricos para la resolución de problemáticas matemáticas que se presenten. De
esta manera, contar con más recursos para poder competir de mejor manera en el ámbito laboral ingenieril.

 Particular

Conocer cada uno de los diferentes métodos a fondo para tener un panorama más amplio de las resoluciones que
podremos brindar a distintas problemáticas. Identificando cual es el método más idóneo para la problemática en cuestión.
Creando un pensamiento analítico en el ingeniero que le ayude a procesar mayor número de información en un menor
tiempo.

Justificación

El conocimiento de métodos numéricos para cálculos aproximados, así como su aplicación a problemas específicos, y la
estimación del error inherente cometido al aplicarlos es de interés primordial para el futuro ingeniero. Ya que representan
una herramienta de apoyo en áreas de conocimiento tales como: la Simulación el Análisis Estructural, Procesos Químicos,
etc. Sobre la base de este razonamiento, se justifica la necesidad de contar con un curso de Análisis Numérico, que
introduzca a los estudiantes de la carrera de Ingeniería de Comunicaciones y Electrónica a dichos métodos.

Introducción

Al momento de aplicar las Matemáticas a situaciones del mundo real nos encontramos a menudo con problemas que no
pueden ser resueltos analíticamente o de manera exacta y cuya solución debe ser abordada con ayuda de procedimientos
numéricos. Los métodos o procedimientos numéricos son técnicas mediante las cuales es posible formular
problemas matemáticos de tal forma que puedan resolverse usando operaciones aritméticas.

En esta investigación encontraremos teoría de distintos métodos numéricos, los cuales se desarrollarán de manera
concreta, brindando al lector en la parte final de cada método un ejemplo, y un programa a ejecutar en lenguaje C.

Marco Teórico

LU:

3
La factorización LU de una matriz es una factorización que resume el proceso de eliminación gaussiana aplicado a la matriz
y que es conveniente en términos del número total de operaciones de punto flotante cuando se desea calcular la inversa
de una matriz o cuando se resolverá una serie de sistemas de ecuaciones con una misma matriz de coeficientes. En la
lectura, primeramente consideraremos la factorización LU sin intercambio basada en matrices elementales y que es
conocida como de Doliste y posteriormente veremos el algoritmo que da la factorización PA = LU.

FACTORIZACIÓN LU:

Suponga que la matriz A es una matriz m × n se puede escribir como el producto de dos matrices:

𝐴 = 𝐿𝑈
Donde L es una matriz triangular inferior m × m y U es una matriz escalonada m × n. Entonces para resolver el sistema:

𝐴𝑋 = 𝑏
Escribimos:

𝐴𝑥 = (𝐿𝑈)𝑥 = 𝐿(𝑈𝑥).
Una posible estrategia de soluci´on consiste en tomar y = U x y resolver para y:

𝑈𝑥 = 𝑦
Nuevamente, como U es escalonada, este sistema puede resolverse en caso de tener solución mediante sustitución hacia
atrás, lo cual es sencillo. Estas observaciones nos dan la pauta para ver la conveniencia de una factorización como la
anterior, es decir factorizar A como el producto de una matriz L triangular superior, por otra U la cual es escalonada. Esta
factorización se llama usualmente Descomposición LU.

EJEMPLO:

Use la factorización LU de A:
4 −2 1 1 0 0 4 −2 1
𝐴 = [ 20 −7 12] = [ 5 1 0] [0 3 7 ] = 𝐿𝑈
−8 13 17 −2 3 1 0 0 −2
Para despejar a x del sistema:
11
𝐴𝑥 = [70] = 𝑏
17
Solución:

Sea y=(y1, y2, y3) un nuevo vector de incógnitas. Primero resolveremos el sistema triangular inferior Ly=b:
1 0 0 11
[ 5 1 0] 𝑦 = [70]
−2 3 1 17
Este sistema escrito en su forma de ecuaciones queda:

𝑦1 = 11
5𝑦1 + 𝑦2 = 70
−2𝑦1 + 3𝑦2 + 𝑦3 = 17
Por eliminación directa de la
4
 Primer ecuación: 𝑦1 = 11
 Segunda ecuación: 𝑦2 = 70 − 5𝑦1 = 70 − 5(11) = 15
 Tercer ecuación: 𝑦3 = 17 + 2𝑦1 − 3𝑦2 = 17 + 2(11) − 3(15) = −6

Ahora el sistema Ux=y:


4 −2 1 11
[0 3 7 ] 𝑥 = [ 15 ]
0 0 −2 −6
El cual escrito en ecuaciones queda:

4𝑥1 − 2𝑥2 + 𝑥3 = 11
3𝑥2 + 7𝑥3 = 15
−2𝑥3 = 6
El cual al ser resulto por resulto por sustitución hacia atrás queda:

𝑋3 = 3
7 7
𝑋2 = 5 − 𝑥3 = 5 − (3) = −2
3 3
11 1 1 11 1 1
𝑋1 = + 𝑥2 − 𝑥3 = + (−2) − (−3) = 1
4 2 4 4 2 4
ALGORITMO DEL PROGRAMA:

#include<stdio.h>
#include<stdlib.h>
#define MAX 10
int main()
{
int i,j,k,n;
float a[MAX][MAX],b[MAX],x[MAX],l[MAX][MAX],y[MAX],u[MAX][MAX],sum;

printf ("\nIngresa el numero de incognitas: ");


scanf("%d",&n);

printf ("\nIngrese los coeficientes:\n\n");


for(i=0;i<n;i++)
{
for(j=0;j<=n;j++)
{
if(j<n)
{
printf("a[%d][%d] = ",i,j);
scanf("%f",&a[i][j]);

}
else
{
5
printf("b[%d] = ",i);
scanf("%f",&b[i]);
printf("\n");
}
}
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(i>j)
{
u[i][j]=0;
}
else if(i==j)
{
l[i][j]=1;
}
else
{
l[i][j]=0;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
sum=0;
if(i<=j)
{
for(k=0;k<n;k++)
if(k!=i)
sum=sum+l[i][k]*u[k][j];
u[i][j]=a[i][j]-sum;
}
else
{
for(k=0;k<n;k++)
if(k!=j)
sum=sum+l[i][k]*u[k][j];
l[i][j]=(a[i][j]-sum)/u[j][j];
}
}
}

printf("\n\n L =");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)

6
printf ("%10.2f",l[i][j]);
printf("\n ");
}

printf("\n\n U =");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf ("%10.2f",u[i][j]);
printf("\n ");
}

y[0]=b[0]/l[0][0];
for(i=1;i<n;i++)
{
sum=0;
for(j=0;j<i;j++)
{
sum=sum+y[j]*l[i][j];

}
y[i]=b[i]-sum;
}
printf("\n\n Y =");
for(i=0;i<n;i++)
{
printf ("%10.2f",y[i]);
printf("\n ");
}

x[n-1]=y[n-1]/u[n-1][n-1];
for(i=n-2;i>=0;i--)
{
sum=0;
for(j=n-1;j>i;j--)
sum=sum+x[j]*u[i][j];
x[i]=(y[i]-sum)/u[i][i];

printf("\nLa solucion es :\n");


for(i=0;i<n;i++)
printf("\n x[%d] = %.2f ",i+1,x[i]);
printf("\n\n");

system("pause");
}

7
CHOLESKY:

En matemáticas, la factorización o descomposición de Cholesky toma su nombre del matemático André-Louis Cholesky,
quien encontró que una matriz simétrica definida positiva puede ser descompuesta como el producto de una matriz
triangular inferior y la traspuesta de una matriz triangular inferior. La matriz triangular inferior es el triángulo de Cholesky
de la matriz original positiva definida. El resultado de Cholesky ha sido extendido a matrices con entradas complejas. Es
una manera de resolver sistemas de ecuaciones matriciales y se deriva de la factorización LU con una pequeña variación.

Cualquier matriz cuadrada A con pivotes no nulos puede ser escrita como el producto de una matriz triangular inferior L y
una matriz triangular superior U; esto recibe el nombre de factorización LU. Sin embargo, si A es simétrica y definida
positiva, se pueden escoger los factores tales que U es la transpuesta de L, y esto se llama descomposición o factorización
de Cholesky. Tanto la descomposición LU como la descomposición de Cholesky son usadas para resolver sistemas de
ecuaciones lineales. Cuando es aplicable, la descomposición de Cholesky es dos veces más eficiente que la descomposición
LU.

Para dar uso a esta descomposición tenemos la matriz de coeficientes de un sistema de ecuaciones, la llamamos A,
comprobamos que esta matriz sea simétrica, porque de lo contrario no es factorizable por Cholesky. Cuando A es simétrica
podemos tratar de factorizarla en la forma 𝐴 = 𝐿∗ 𝐿(𝑡), 𝐿(𝑡) lo cual quiere decir que la matriz L fue transpuesta, cuando
la tenemos factorizada ya podemos resolver el sistema de ecuaciones.

Una condición necesaria y suficiente para que una matriz A admita factorización de Cholesky es que sea simétrica y
definida positiva.

DEFINICIÓN:

En general, si A es ermitaña y definida positiva, entonces A puede ser descompuesta como:

𝐴 = 𝐿𝐿∗
Donde L es una matriz inferior con entradas diagonales estrictamente positivas y L* representa la conjugada traspuesta
de L. Esta es la descomposición de Cholesky.

La descomposición de Cholesky es: dada una matriz Ermitaña positiva definida A, hay una única matriz triangular inferior
L con entradas diagonales estrictamente positivas tales que A = LL*. El recíproco se tiene trivialmente: si A se puede escribir
como LL* para alguna matriz invertible L, triangular inferior o no, entonces A es Ermitaña y definida positiva.

El requisito de que L tenga entradas diagonales estrictamente positivas puede extenderse para el caso de la
descomposición en el caso de ser semi-definida positiva. La proposición se lee ahora: una matriz cuadrada A tiene una
descomposición de Cholesky si y sólo si A es Ermitaña y semi-definida positiva. Las factorizaciones de Cholesky para
matrices semi-definidas positivas no son únicas en general.

En el caso especial que A es una matriz positiva definida con entradas reales, L se puede asumir también con entradas
reales. Una matriz D diagonal con entradas positivas en la diagonal (valores propios de A), es factorizable como 𝐷 =
√𝐷√𝐷, donde √𝐷 es una matriz cuya diagonal consiste en la raíz cuadrada de cada elemento de D, que tomamos como
positivos, asi:
𝑡
𝐴 = 𝐿𝑈 = 𝐿𝐷𝑈0 = 𝐿𝐷𝐿𝑡 = 𝐿(√𝐷√𝐷)𝐿𝑡 = (𝐿√𝐷)(√𝐷𝐿𝑡 ) = (𝐿√𝐷)(𝐿√𝐷) = 𝐾𝐾 𝑡

La factorización puede ser calculada directamente a través de las siguientes formulas (en este caso se realizó la
factorización superior 𝐴 = 𝑈 𝑇 ∗ 𝑈):
8
𝑎𝑖𝑖 −∑𝑖−1 2
𝑘=1 𝑢𝑖𝑘
𝑢𝑖𝑖2 = 𝑎𝑖𝑖 − ∑𝑖−1 2
𝑘=1 𝑢𝑖𝑘 Para los elementos de la diagonal principal, y 𝑢𝑖𝑗 = 𝑢𝑗𝑗
para el resto de los elementos
donde uij son los elementos de la matriz U.

APLICACIÓN:

La descomposición de Cholesky se usa principalmente para hallar la solución numérica de ecuaciones lineales Ax = b. Si A
es simétrica y positiva definida, entonces se puede solucionar Ax = b calculando primero la descomposición de Cholesky
A = LLT, luego resolviendo Ly = b para y, y finalmente resolviendo LTx = y pa.

MÍNIMOS CUADRADOS LINEALES:

Sistemas de la forma Ax = b con A simétrica y definida positiva aparecen a menudo en la práctica. Por ejemplo, las
ecuaciones normales en problemas de mínimos cuadrados lineales son problemas de esta forma. Podría ocurrir que la
matriz A proviene de un funcional de energía el cual debe ser positivo bajo consideraciones físicas; esto ocurre
frecuentemente en la solución numérica de ecuaciones diferenciales parciales.

PROBLEMA RESUELTO EN UN CONTEXTO REAL:

 Resuelva el siguiente sistema usando el método de Cholesky:


2𝑥1 − 𝑥2 + 𝑥3 = 0
−𝑥2 + 𝑥3 = 1
𝑥2 − 𝑥3 = −1
Solución:
El sistema se puede escribir en forma matricial.
2 −1 1 𝑥1 0
𝐴𝑥 = 𝑏 Donde 𝐴 = (1 −1 2 ) ; 𝑥 = (𝑥2) ; 𝑏 = ( 1 )
0 1 −1 𝑥3 −1

Observamos que la matriz A no es simétrica, luego debemos pre multiplicar el sistema por la matriz A T, es decir,
(ATA) x= (ATb), obteniendo de esta forma un sistema simétrico definido positiva, que puede ser resulto usando
Cholesky.
2 1 0 2 −1 1 5 −3 4
𝐴′ = 𝐴𝑇 𝐴 = (−1 −1 1 ) (1 −1 2 ) = (−3 3 4)
1 2 −1 0 1 −1 4 −4 6

2 1 0 0 1
𝑏 ′ = 𝐴𝑇 𝑏 = (−1 −1 1 ) ( 1 ) = (−2)
1 2 −1 −1 3
Recordemos que las fórmulas para obtener la factorización de Cholesky son:

𝑙11 = √𝑎11
𝑙𝑖𝑖 = √𝑎11 − ∑𝑖−1 2
𝑘=1 𝑙𝑖𝑘 , 𝑖 = 2, … .. , n

𝑎𝑖1
𝑙𝑖1 =
𝑙11
𝑗−1
𝑎𝑖𝑗 − ∑𝑘=1 𝑙𝑖𝑘 𝑙𝑗𝑘
𝑙𝑖𝑗 = , 𝑗 = 2, , 𝑖 − 1
𝑙𝑗𝑗

9
𝑙11 0 0
Calculemos la matriz 𝐿 = (𝑙21 𝑙22 0)
𝑙31 𝑙32 𝑙33

𝑙11 = √𝑎11 = √5
𝑎21 −3
𝑙21 = =
𝑙11 √5

2−1 1
2 2 2
9 √6
𝑙22 = √𝑎22 − ∑ 𝑙2𝑘 = √𝑎22 − ∑ 𝑙2𝑘 = √𝑎22 − 𝑙21 = √3 − =
5 √5
𝐾=1 𝑘=1

𝑎31 4
𝑙31 = =
𝑙11 √5
4 −3 12 8
−4 −
𝑙32 =
𝑎32 − ∑2−1
𝑘=1 𝑙3𝑘 𝑙2𝑘
=
𝑎32 − 𝑙31 𝑙21
= √5 √5 = −4 + 5 = − 5 = −8
𝑙22 𝑙22 √6 √6 √6 √30
√5 √5 √5

3−1 2
2 2 2
16 64 2
𝑙33 = √𝑎33 − ∑ 𝑙3𝑘 = √𝑎33 − ∑ 𝑙3𝑘 = √𝑎33 − 𝑙32 = √6 − − =√
5 30 3
𝑘=1 𝑘=1

√5 0 0
𝑙11 0 0 −3 √6
0
𝑙
∴ 𝐿 = ( 21 𝑙22 0)= √5 √5
𝑙31 𝑙32 𝑙32 4 −8 √2
( √5 √30 √3)
Obtenida la descomposicion A’=LLT, el sistema original A’x=b’ se transforma en:
𝑦=𝐿𝑇 𝑥
𝐴′ 𝑥 = 𝑏 ′ ⟹ (𝐿𝑙 𝑇 )𝑥 = 𝑏 ′ ⟹ 𝐿(𝐿𝑇 𝑥) = 𝑏 ′ ⟹ 𝐿𝑦 = 𝑏′
Es decir, debemos resolver en primer lugar el sistema Ly=b’, y luego de calculado el vector y se resuelve el sistema L Tx=y.

Para calcular el vector solución del sistema Ly=b’ se ocupan las formulas:
𝑏′ 1
𝑦1 = 𝑙 1 ; 𝑦𝑘 = 𝑙 [𝑏′𝑘 − ∑𝑘−1
𝑗=1 𝑙𝑘𝑗 𝑦𝑗 ], 𝑘 = 2,3, . . , 𝑛
11 𝑘𝑘

En nuestro ejercicio se tiene:


𝑏1′ 1
𝑦1 = =
𝑙11 √5
2−1
1 1 −3 1 √5 3 √5 7 7√5
𝑦2 = [𝑏′2 − ∑ 𝑙2𝑗 𝑦𝑗 ] = (−2 − )= [−2 + ] = [− ] = −
𝑙22 √6 √5 √5 √6 5 √6 5 5√6
𝑗=1
5

10
3−1
1 1 4 1 −8 −7√5 1
𝑦3 = [𝑏′3 − ∑ 𝑙3𝑗 𝑦𝑗 ] = (3 − − )=
𝑙33 √2 √5 √5 √30 5√6 √6
𝑗=1
√3
1
√5
𝑦1
7√5
∴ 𝑦 = (𝑦2) = −
𝑦3 5√6
1
( √6 )
Para resolver el sistema LTx=y se ocupan las siguientes formulas:
𝑦 1
𝑦𝑛 = 𝑙 𝑛 ; 𝑥𝑘 = 𝑙 [𝑦𝑘 − ∑𝑛𝑗=𝑘+1 𝑙𝑗𝑘 𝑥𝑗 ], 𝑘 = 𝑛 − 1, 𝑛 − 2, . . ,1
𝑛𝑛 𝑘𝑘

En el ejercicio se tiene
1
𝑦33 √6 1
𝑥3 = = =
𝑙33 √2 2
√3
3
1 1 7√5 −8 1 1
𝑥2 = [𝑦2 − ∑ 𝑙𝑗2 𝑥𝑗 ] = (− − )=−
𝑙22 √6 5√6 √30 2 2
𝑗=2+1
√5
3
1 1 1 −3 −1 1
𝑥1 = [𝑦1 − ∑ 𝑙𝑗1 𝑥𝑗 ] = ( − )=−
𝑙11 √5 √5 √5 2 2
𝑗=1+1

1

2
𝑥1 1
∴ 𝑥 = (𝑥2) = −
𝑥3 2
1
( 2 )
ALGORITMO DEL PROGRAMA:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int cholesky(double **orig, int n, double **aug, int mcol,double **chol, double **cholaug, int ofs)
/*
Do the augmented cholesky decomposition as described in FA Graybill
(1976) Theory and Application of the Linear Model. The original matrix
must be symmetric positive definite. The augmentation matrix, or
series of column vectors, are multiplied by C^-t, where C is the
upper triangular cholesky matrix, ie C^t * C = M and M is the original
matrix. Returns with a value of 0 if M is a non-positive definite
11
matrix. Returns with a value of 1 with succesful completion.

Arguments:

orig (input) double n x n array. The matrix to take the Cholesky


decomposition of.
n (input) integer. Number of rows and columns in orig.
aug (input) double n x mcol array. The matrix for the augmented
part of the decomposition.
mcol (input) integer. Number of columns in aug.
chol (output) double n x n array. Holds the upper triangular matrix
C on output. The lower triangular portion remains unchanged.
This maybe the same as orig, in which case the upper triangular
portion of orig is overwritten.
cholaug (output) double n x mcol array. Holds the product C^-t * aug.
May be the same as aug, in which case aug is over written.
ofs (input) integer. The index of the first element in the matrices.
Normally this is 0, but commonly is 1 (but may be any integer).
*/
{
int i, j, k, l;
int retval = 1;

for (i=ofs; i<n+ofs; i++) {


chol[i][i] = orig[i][i];
for (k=ofs; k<i; k++)
chol[i][i] -= chol[k][i]*chol[k][i];
if (chol[i][i] <= 0) {
fprintf(stderr,"\nERROR: non-positive definite matrix!\n");
printf("\nproblem from %d %f\n",i,chol[i][i]);
retval = 0;
return retval;
}
chol[i][i] = sqrt(chol[i][i]);

/*This portion multiplies the extra matrix by C^-t */


for (l=ofs; l<mcol+ofs; l++) {
cholaug[i][l] = aug[i][l];
for (k=ofs; k<i; k++) {
cholaug[i][l] -= cholaug[k][l]*chol[k][i];
}
cholaug[i][l] /= chol[i][i];
}

for (j=i+1; j<n+ofs; j++) {


chol[i][j] = orig[i][j];
for (k=ofs; k<i; k++)
chol[i][j] -= chol[k][i]*chol[k][j];
chol[i][j] /= chol[i][i];
}
}

12
return retval;
}
Desigualdad de Chebyshev

La desigualdad de Chebyshev es un teorema utilizado en estadística que proporciona una estimación conservadora
(intervalo de confianza) de la probabilidad de que una variable aleatoria con varianza finita, se sitúe a una cierta distancia
de su esperanza matemática o de su media.

P(|X-µ|>kϬ )≤1/k^2

X = Valor estimado

µ = Esperanza matemática del valor estimado

Ϭ = Desviación típica del valor esperado

k = Número de desviaciones típicas

Partiendo de esta expresión general y desarrollando la parte que queda dentro del valor absoluto tendríamos lo siguiente:

P(µ-6k<X< µ+kϬ)≥1-1/k^2

Si prestamos atención a la expresión anterior, se aprecia que la parte de la izquierda no es más es un intervalo de
confianza. Este nos ofrece tanto una cota inferior, como una superior para el valor estimado. Por lo tanto, la desigualdad
de Chebyshev nos dice la probabilidad mínima, de que el parámetro poblacional se encuentre dentro de una determinada
cantidad de desviaciones típicas por encima o por debajo de su media. O dicho de otra manera, nos da la probabilidad de
que de que el parámetro poblacional se encuentre dentro de ese intervalo de confianza. La desigualdad de Chebyshev
proporciona cotas aproximadas para el valor estimado. A pesar de tener cierto grado de imprecisión, es un teorema
bastante útil dado que se puede aplicar a un amplio abanico de variables aleatorias independientemente de sus
distribuciones. La única restricción para poder utilizar esta desigualdad es que k tiene que ser mayor que 1 (k>1).

Ejemplo de aplicación de la desigualdad de Chebyshev

Supongamos que somos gestores de un fondo de inversión. La cartera que estamos gestionando tiene una rentabilidad
media del 8,14% y una desviación típica del 5,12%. Para saber por ejemplo que porcentaje de nuestros retornos se
encuentran al menos a 3 desviaciones típicas de nuestra rentabilidad media simplemente aplicaríamos la formula anterior
de la expresión 2. k = 1,96
Sustituyendo el valor de k: 1-1/1,96^2 = 0,739 = 73,9% Esto quiere decir
que hay un 73,9% de los resultados que están en el intervalo de confianza situado a 1,96 desviaciones típicas de la media.

Realicemos el ejemplo anterior para valores distintos de k.

k = 2,46

k=3

Sustituyendo el valor de k: 1-1/2,46^2 = 0,835 = 83,5%

Sustituyendo el valor de k: 1-1/3^2 = 0,889 = 88,9%

Hay un 83,5% de los datos que están a una distancia de 2,46 desviaciones típicas de la media y un 88,9% que están a 3
desviaciones típicas de la media.

Utilizando la desigualdad de Chebyshev, es sencillo deducir que a mayor valor de K (mayor desviación del valor estimado
sobre su media) mayor probabilidad de que la variable aleatoria se encuentro dentro del intervalo acotado.
13
EL PROBLEMA GENERAL DE INTERPOLACION

En ocasiones se plantea el problema de que se conoce una tabla de valores de una función desconocida o difícil de
manejar, y nos interesaría sustituirla por otra más sencilla (por ejemplo, un polinomio) que verifique la tabla de valores.
Este es el problema de interpolación polinómica que introduciremos en este tema de forma abstracta: El Problema
General de Interpolación (P.G.I.) se plantea de la siguiente manera:

Sea L un espacio vectorial de dimensión N sobre R. Sean F1, . . . , Fn ∈ L ∗ , esto es, N aplicaciones lineales Fi : L −→ R, i =
1, . . . , N. Entonces, dados w1, . . . , wn ∈ R, encontrar f ∈ L tal que:

Fi(f) = 𝑤𝑖 , ∀i = 1, . . . , N.

Teorema 1.- (Existencia y unicidad de solución del P.G.I.) Son equivalentes:

1. Existe un ´único elemento f ∈ L tal que Fi(f) = si, ∀i = 1, . . . , N.

2. 0 es el ´único elemento de L tal que Fi(f) = 0, ∀i = 1, . . . , N.

3. Para cualquier base {f1, . . . , fN} de L se tiene que det(Fi(fj)) 6= 0.

4. Existe, al menos, una base {f1, . . . , fN} de L tal que det(Fi(fj)) 6= 0.

5. {F1, . . . , FN} son linealmente independientes en L ∗ . (Y, por tanto, son base de L ∗ )

En caso de que el P.G.I. tenga solución ´única, esta puede caracterizarse mediante el siguiente resultado:

Teorema 2 .- (Representación de Lagrange)

Sea L un espacio vectorial de dimensión N sobre R. Sea {F1, . . . , FN} una base de L ∗ . Sea {f ∗ 1 , . . . , f ∗ N} su base dual,
es decir: Fi(f ∗ j ) = δij, ∀i, j = 1, . . . , N.

Entonces, dados w1, . . . , wN ∈ R, el ´único elemento f ∈ L tal que: Fi(f) = wi , ∀i = 1, . . . , N se escribe de la forma: 𝑓 =
∑𝑁
𝑖=0 𝑤𝑖 𝑓𝑖 .

Interpolación de HERMITE

Sean x0, x1, . . . , xn, (n+1) puntos distintos de R. Sean w0, w1, . . . , w2n+1, (2n + 2) valores reales arbitrarios. Entonces
existe un único polinomio P(x) de grado ≤ 2n + 1 tal que

P(xi) = 𝑤𝑖 , ∀i = 0, 1, . . . , n,

P 0 (xi−(n+1)) = 𝑤𝑖 , ∀i = n + 1, . . . , 2n + 1.

Para demostrarlo basta tomar en el Teorema 1:

L = P2n+1(R), N = 2n + 2,

Fi : p ∈ P2n+1(R) → Fi(p) = p(xi) ∈ R, i = 0, . . . , n,

Fi : p ∈ P2n+1(R) → Fi(p) = p 0 (xi−(n+1)) ∈ R,

i = n + 1, . . . , 2n + 1.

Al polinomio P(x) se le llama polinomio de interpolación de Hermite.

La base dual, que denominaremos {h0, . . . , h2n+1}, viene dada por:

hi(x) = l 2 i (x) [1 − π 00(xi) π 0 (xi) (x − xi)], i = 0, . . . , n,

14
hi(x) = (x−xi−(n+1))l 2 i−(n+1)(x), i = n+ 1, . . . , 2n+ 1

donde: π(x) = (x − x0)(x − x1). . .(x − xn).

Entonces:
2𝑛+1

𝑃(𝑥) = ∑ 𝑤𝑖 ℎ𝑖 (𝑥)
𝑖=0

Ejemplo -

Encontrar un polinomio P(x) ∈ P3(R) tal que: P(0) = 1, P(1) = 1, P0 (0) = 0, P0 (1) = 1.

Tomamos x0 = 0, x1 = 1. Entonces:

𝑙0 (𝑥) = 1 − 𝑥, 𝑙1 (𝑥) = 𝑥

𝜋(𝑥) = 𝑥(𝑥 − 1) = 𝑥 2 − 𝑥

ℎ0 (𝑥) = 2𝑥 ^3 − 3𝑥^2 + 1, ℎ1(x) = 3𝑥^ 2 − 2𝑥^3 ,

ℎ2 (𝑥) = 𝑥^3 − 2𝑥^2 + 𝑥, ℎ3 (𝑥) = 𝑥^3 – 𝑥^2 .


Por tanto: P(x) = ℎ0 (x) + ℎ1 (x) + ℎ3 (x) = x^3 – x^2 + 1.

La interpolación de Hermite puede hacerse en general, no sólo para la primera derivada, sino para derivadas de
cualquier orden. Además de la interpolación polinómica, de la que hemos visto tres ejemplos diferentes, se puede
hablar de interpolación trigonométrica, exponencial, logarítmica.

DIFERENCIAS DIVIDIDAS: FORMULA DE NEWTON

El método dado para calcular el polinomio de Lagrange relativo a los nodos x0, . . . , xn y a los valores w0, . . . , wn es
complicado y obliga a rehacer todos los cálculos si se añade algún nodo nuevo. Vamos a presentar un nuevo método
para el cálculo del polinomio de Lagrange que evita estos problemas. Para ello definiremos las diferencias divididas de la
siguiente forma:

Diferencias divididas de orden 0: [𝑊𝑖 ] = 𝑊𝑖 , 𝑖 = 0, . . . , 𝑛.

Diferencias divididas de orden 1: [ 𝑊𝑖 + 1] = [𝑊𝑖 + 1] − [𝑊𝑖 ] 𝑥𝑖 + 1 − 𝑥𝑖 , 𝑖 = 0, . . . , 𝑛 − 1.

Diferencias divididas de orden 2: [Wi , Wi + 1, Wi + 2] = ([Wi + 1, Wi + 2] − [Wi , Wi + 1])/ xi + 2 − xi , i = 0, . . . , n − 2

Diferencias divididas de orden k:

[𝑊𝑖 , 𝑊𝑖 + 1, . . . , 𝑊𝑖 + 𝑘] = ([𝑊𝑖 + 1, . . . , 𝑊𝑖 + 𝑘] − [𝑊𝑖 , . . . , 𝑊𝑖 + 𝑘 − 1])/ 𝑥𝑖 + 𝑘 − 𝑥𝑖 , 𝑖 = 0, . . . , 𝑛 − 𝑘.

Ejemplo (Corresponde a la función f(x) = x 3 en los nodos 0, 2, 3, 5 y 6, a los que se ha añadido posteriormente el nuevo
nodo 1)

15
ALGORITMO DEL PROGRAMA:

//METODO DE INTERPOLACION DE NEWTON

#include<stdio.h>

#include<conio.h>

#include<math.h>

#include<iostream.h>

#include<iomanip.h>

void uno(float a);

void dos(float a,float b);

void tres(float a, float b, float c);

void cuatro(float a,float b, float c, float d);

void cinco(float a, float b, float c, float d, float e);

float bs(float f1,float f0,float x1, float x0);

float x[6],fx[6];

void main()

int opcion;

clrscr();

cout<<"\nINTERPOLACION DE NEWTON";

cout<<"\nCUANTOS PUNTOS";

cin>>opcion;

if(opcion<=5)

for(int d=0;d<opcion;d++)

cout<<"\nX"<<d<<": ";cin>>x[d];

cout<<"\nf(x)"<<d<<": ";cin>>fx[d];

switch(opcion)

case 1:{uno(fx[0]);}break;
16
case 2:{dos(x[0],x[1]);}break;

case 3:{tres(x[0],x[1],x[2]);}break;

case 4:{cuatro(x[0],x[1],x[2],x[3]);}break;

case 5:{cinco(x[0],x[1],x[2],x[3],x[4]);}break;

getch();

void uno(float a)

cout<<"\n";

cout<<"Y="<<a;

getch();

void dos(float a, float b)

cout<<"\n"<<setiosflags(ios::showpos);

cout<<setiosflags(ios::fixed);

cout<<"Y=";

cout<<bs(a,b,fx[0],fx[1])<<"X"<<bs(a,b,fx[0],fx[1])*(-a)+fx[0];

getch();

void tres(float a, float b, float c)

float t1,t2,t3;

t1=bs(a,b,fx[0],fx[1]);

t2=bs(b,c,fx[1],fx[2]);

t3=bs(a,c,t1,t2);

cout<<"\n"<<setiosflags(ios::showpos);

cout<<setiosflags(ios::fixed);

17
cout<<"Y="<<t3<<"X^2 "<<((-a-b)*t3)+t1<<"X"<<-(t1*a)+(fx[0])+(t3*a*b);

getch();

void cuatro(float a, float b, float c, float d)

float t1,t2,t3,t4,t5,t6;

t1=bs(a,b,fx[0],fx[1]);

t2=bs(b,c,fx[1],fx[2]);

t3=bs(c,d,fx[2],fx[3]);

t4=bs(a,c,t1,t2);

t5=bs(b,d,t2,t3);

t6=bs(a,d,t4,t5);

cout<<setiosflags(ios::showpos);

cout<<setiosflags(ios::fixed);

cout<<"\nY="<<t6<<"X^3 "<<(((-a-b-c)*t6)+t4)<<"X^2"<<((t6*((a*b)+(a*c)+(b*c)))+(t4*(-a-b))+t1)<<"X"<<((t6*(-
a*b*c))+((a*b)*t4)-(t1*a)+fx[0]);

getch();

void cinco(float a, float b, float c, float d, float e)

//long

float t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;

t1=bs(a,b,fx[0],fx[1]);

t2=bs(b,c,fx[1],fx[2]);

t3=bs(c,d,fx[2],fx[3]);

t4=bs(d,e,fx[3],fx[4]);

t5=bs(a,c,t1,t2);

t6=bs(b,d,t2,t3);

t7=bs(c,e,t3,t4);

t8=bs(a,d,t5,t6);

t9=bs(b,e,t6,t7);

18
t10=bs(a,e,t8,t9);

cout<<setiosflags(ios::showpos);

cout<<setiosflags(ios::fixed);

cout<<"\n"<<fx[0]<<t1<<"(x"<<-a<<")"<<t5<<"(x"<<-a<<")"<<"(x"<<-b<<")"<<t8<<"(x"<<-a<<")"<<"(x"<<-b<<")"<<"(x"<<-
c<<")"<<t10<<"(x"<<-a<<")"<<"(x"<<-b<<")"<<"(x"<<-c<<")"<<"(x"<<-d<<")";

getch();

float bs(float x0,float x1,float f0, float f1)

{return( (f1-f0)/(x1-x0));

CONCLUSION

Pudimos verificar la utilidad tan grande que tienen los métodos numéricos en un gran rango de campos, encontrando los
resultados aproximados a sistemas complejos hacienda utilización de operaciones matemáticas simples. Es de suma
importancia conocer los métodos numéricos ya que facilitarán y optimalizarán la resolución de problemas de la ida real,
además que nos dan un ahorro de tiempo y recursos significativos.

Bibliografía

Chapra, Steven. Métodos Numéricos para Ingenieros. 5° Edición. Mac Graw Hill, 2006.

Steven C. Chapra y Raymond Canale, Métodos Numéricos para Ingenieros, 2006, Editorial Mac Graw Hill

Referencias Electrónicas

http://www.dma.uvigo.es/~lino/Tema5.pdf

19

También podría gustarte