Está en la página 1de 11

Anlisis Numrico

ICM ESPOL

ANLISIS NUMRICO
Un Enfoque Algortmico con el Soporte de MATLAB
1

INTRODUCCIN

El Anlisis Numrico es una rama de la matemtica cuyo objetivo principal es el estudio de


mtodos para resolver problemas numricos complejos. El estudio de estos mtodos no es
reciente, pero actualmente con el apoyo de la computacin se los puede usar para enfrentar la
resolucin de problemas que anteriormente no hubiese sido posible.
En este curso se proporciona a los estudiantes el conocimiento matemtico bsico para proveer
soporte y formalidad a cada uno de los mtodos estudiados. Entonces se desarrolla la forma
algortmica de los mtodos y finalmente se instrumenta su forma computacional usando la
capacidad de clculo, visualizacin y programacin de MATLAB. Este componente prctico del
curso es desarrollado en un laboratorio de computacin.
El estudio de cada mtodo se complementa con el desarrollo de ejemplos y ejercicios que
pueden resolverse con la ayuda de una calculadora. Sin embargo, el objetivo principal del curso
es la aplicacin de los mtodos en la resolucin de algunos problemas de ingeniera que por su
complejidad requieren usar el computador.

1.1

Un procedimiento para resolver problemas con el computador

Suponer un problema que debemos resolver y que est en nuestro mbito de conocimiento.
En la etapa de Anlisis es necesario estudiar y entender el problema. Sus caractersticas, las
variables y los procesos que intervienen. Asimismo, debemos conocer los datos requeridos y el
objetivo esperado. En el caso de problemas de tipo numrico, el resultado de esta etapa ser un
modelo matemtico que caracteriza al problema. Por ejemplo, un sistema de ecuaciones
lineales.
En la etapa de Diseo procedemos a elegir el mtodo numrico apropiado para resolver el
modelo matemtico. Debe suponerse que no se puede obtener una solucin exacta mediante
mtodos analticos. Los mtodos numricos permiten obtener soluciones aproximadas. El
resultado de esta etapa es la formulacin matemtica del mtodo numrico y la elaboracin de
un algoritmo para usarlo.
En la etapa de Instrumentacin elegimos el dispositivo de clculo para la obtencin de
resultados. En problemas simples, basta una calculadora. Para problemas complejos,
requerimos el computador mediante funciones predefinidas y en algunos casos, desarrollando
programas y funciones. Esta ltima opcin es importante para la comprensin de los mtodos.
Este proceso debe complementarse con una revisin y retroalimentacin. Es preferible invertir
ms tiempo en las primeras etapas, antes de llegar a la instrumentacin.

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

ICM ESPOL

1.1.1 El Modelo Matemtico


En el procedimiento descrito para resolver un problema con el computador, la parte mas
laboriosa normalmente es el anlisis del problema y la obtencin del modelo matemtico que
finalmente debe resolverse para obtener la solucin. Para esta etapa es necesario conocer el
mbito del problema y los instrumentos matemticos para formular el modelo.
A continuacin se describen dos problemas y el anlisis para obtener el modelo matemtico
respectivo
Problema 1
Un empresario desea producir recipientes cilndricos de aluminio de un litro de capacidad. Para
el sellado del material un borde debe tener 0.5 cm. adicionales. Se necesita determinar las
dimensiones que debe tener cada recipiente para que la cantidad de material utilizada en la
fabricacin sea mnima.

Anlisis
Sean:

x, h: radio y altura del cilindro, respectivamente

Volumen requerido:
rea total:

V = x2h = 1000 cm3


A = 2 (x+0.5)2 + (2x+0.5)h cm2

(1)
(2)

De (1) obtenemos h, sustituimos en (2) y resulta


1000(2x + 0.5)
A = 2(x + 0.5)2 +
x 2
Para obtener el mnimo, seguimos el procedimiento matemtico conocido:
500 500(2x + 0.5)
d
A = 0 (x + 0.5) + 2
=0
dx
x
x 3
El modelo matemtico resultante es una ecuacin no lineal que debe resolverse en forma
aproximada pues no es posible obtener una solucin analtica exacta..

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

ICM ESPOL

Problema 2
Un comerciante compra tres productos: A, B, C. Estos productos se venden por peso en Kg.
pero en las facturas nicamente consta el total que debe pagar. El valor incluye el impuesto a las
ventas y supondremos, por simplicidad que es 10%. El comerciante desea conocer el precio
unitario de cada artculo, para lo cual dispone de tres facturas con los siguientes datos:
Factura Kg. de A Kg. de B Kg. de C Valor pagado
1
4
2
5
$19.80
2
2
5
8
$30.03
3
2
4
3
$17.82

Anlisis
Primero eliminamos el 10% del valor facturado dividiendo cada valor para 1.1:
Factura
1
2
3

Valor pagado
$19.80
$30.03
$17.82

Valor sin impuesto


18.00
27.30
16.20

Sean x1, x 2 ,x 3 variables que representan al precio por Kg. de cada producto. Entonces, se
pueden escribir las siguientes ecuaciones:
4x1 + 2x 2 + 5x 3 = 18.00
2x1 + 5x 2 + 8x 3 = 27.30
2x1 + 4x 2 + 3x 3 = 16.20

El modelo matemtico resultante es un sistema de tres ecuaciones lineales de cuya solucin


se obtendrn las respuestas.

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

1.2

ICM ESPOL

Fuentes de error en la resolucin de un problema numrico

En el Anlisis pueden introducirse errores inherentes debido a suposiciones inadecuadas,


omisin de variables, datos imprecisos
En el Diseo se pueden introducir errores de truncamiento que pueden atribuirse al uso de
mtodos basados en el desarrollo de series y al uso de frmulas iterativas.
En la Instrumentacin se pueden introducir errores de redondeo por la limitacin de la
representacin de los nmeros reales en los dispositivos de almacenamiento de datos.
Estos errores son independientes y su efecto puede acumularse. En el caso especfico del error
de redondeo, el efecto puede propagarse si los resultados de los clculos aritmticos son usados
en forma en forma consecutiva en una secuencia de clculos.
Debido a que los mtodos numricos permiten obtener nicamente aproximaciones para la
respuesta de un problema, es necesario establecer alguna medida para la magnitud del error en
el resultado obtenido. En general, no es posible determinar exactamente este valor por lo que es
necesario definir algn criterio para acotarlo o limitarlo. Esta informacin puede ser suficiente
para el uso de los resultados calculados.

1.3

Algoritmos numricos

Un algoritmo es una descripcin ordenada


correspondiente a cada mtodo numrico, as
datos y donde se producen los resultados.
completamente el componente matemtico,
resultados que se obtendrn.

de como se usa la formulacin matemtica


como los lugares en los que se deben ingresar
Para crear un algoritmo es necesario conocer
sus restricciones, los datos requeridos y los

Esta descripcin facilita la instrumentacin computacional final del mtodo numrico. Sin
embargo, en la mayora de los casos puede omitirse la elaboracin del algoritmo e ir
directamente a la codificacin del programa o funcin, a menos que el problema sea muy
complejo.

1.3.1 Descripcin de algoritmos


Para escribir algoritmos se puede usar cualquier notacin, grfica o simblica, debiendo tener
algunas caractersticas para que tenga utilidad:
1) Debe ser simple
2) Las instrucciones deben ser precisas y no contener ambigedades
3) Debe contar con instrucciones para describir la solucin de problemas de inters
4) El algoritmo resultante debe ser fcil de entender y realizar
5) Debe tener orientacin computacional
1.3.2 Notacin para describir algoritmos
En esta seccin se propone una sintaxis tpica para describir algoritmos. No es obligacin
adoptar esta notacin. Tambin pueden usarse los conocidos Diagramas de Flujo
Instrucciones bsicas
1) Asignacin de variables en el algoritmo
Variable valor

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

ICM ESPOL

2) Entrada de datos para variables desde fuera del algoritmo


ingresar variables

3) Salida del contenido de variables hacia fuera del algoritmo


mostrar variables

Estructuras de control de flujo en el algoritmo


1)

Decisiones
si resultado de una condicin es verdadero
instrucciones que se realizan
fin
si resultado de una condicin es verdadero
instrucciones que se realizan
sino
instrucciones que se realizan
fin

2)

Repeticiones
mientras resultado de una condicin es verdadero repita
instrucciones que se realizan
fin

para variable = v1, v2, . . ., vn repita


instrucciones que se realizan
fin

Ejemplo. Escriba un algoritmo que reciba tres nmeros y entregue la suma de los dos mayores
Sean a, b, c: Variables que recibirn los datos
t: Variable que contendr el resultado

ingresar a, b, c
si a c b c
ta+b
sino
si a b c b
ta+c
sino
tb+c
fin
fin
mostrar t

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

1.4

ICM ESPOL

Instrumentacin computacional

En este curso se usar MATLAB para instrumentar los algoritmos correspondientes a los
mtodos numricos estudiados. Cada algoritmo ser transformado en una funcin en el lenguaje
de MATLAB tratando de que sea independiente de los datos especficos de un problema
particular. Estas funciones podrn ser usadas desde la ventana de comandos o mediante un
programa que contendr los datos del problema que se desea resolver.
Se supondr que los estudiantes tienen el conocimiento bsico del lenguaje y del entorno de
MATLAB.

1.5

El programa MATLAB

MATLAB es un instrumento computacional simple de usar, verstil y de gran poder para


aplicaciones numricas, simblicas y grficas. Contiene una gran cantidad de funciones
predefinidas para aplicaciones en reas de las ciencias e ingeniera. Este instrumento puede
usarse en forma interactiva mediante comandos o mediante instrucciones creando programas
y funciones con las que se puede agregar poder computacional a la plataforma MATLAB.
1.5.1 Uso interactivo de MATLAB
Al ingresar al programa MATLAB se tiene acceso a la Ventana de Comandos. Los comandos
son las instrucciones que se escriben para obtener resultados en forma inmediata y directa.

Ejemplo. Para calcular

y = cos(2 ) + 5 + 27
Digite en la ventana de comandos de MATLAB

y = cos(2*pi)+sqrt(5)+2^7
Obtendr inmediatamente la respuesta

y=
131.2361

Ventana de
comandos de
MATLAB

Se escribe el comando

Se obtiene la respuesta

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

ICM ESPOL

NOTA IMPORTANTE
Para conocer el uso de cada comando o funcin, se escribe help y luego el nombre
Ejemplo. Si desea conocer el uso de la funcin sqrt digite
>> help sqrt
SQRT Square root.
SQRT(X) is the square root of the elements of X. Complex
results are produced if X is not positive.

Esta informacin
aparece en pantalla

Ejemplo. Si desea conocer la lista de las funciones matemticas bsicas de MATLAB digite
>> help elfun

1.5.2

Programacin en MATLAB

Junto a este curso se suministra un Tutorial de MATLAB. Se sugiere usarlo como referencia y
adquirir familiaridad con la sintaxis y operatividad de este lenguaje.
Para usar el componente programable de MATLAB debe abrir una ventana de edicin
presionando el botn New M-File en la barra de opciones de MATLAB.
Entonces escriba el programa en la ventana de edicin y almacnelo con algn nombre.
Finalmente, active el programa escribiendo el nombre en la ventana de comandos. Ingrese los
datos y obtenga los resultados.
Ejemplo. Escribir y probar un programa en MATLAB para el algoritmo de la Seccin 1.3.2
1) Presionar este botn para
abrir la ventana de edicin

2) Escribir el programa en
la ventana de edicin

4) Activar el programa,
ingresar los datos y
obtener el resultado

3) Presionar este botn


para almacenar el
programa.

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

1.6

ICM ESPOL

Tipos de mtodos numricos

En general, existen dos estrategias para disear mtodos numricos y es importante conocer
como elegirlos, as como su estructuracin algortmica e instrumentacin computacional
1.6.1 Mtodos Directos
Son procedimientos para obtener resultados efectuando una secuencia finita de operaciones
aritmticas. La cantidad de operaciones aritmticas depende del tamao del problema. Los
resultados obtenidos son exactos, pero si no es posible conservar todos los dgitos de los
nmeros producidos en las operaciones aritmticas, entonces pueden ser afectados por los
errores de redondeo.
Ejemplo. Instrumentar un mtodo directo para resolver un sistema triangular inferior de
ecuaciones lineales.
Modelo matemtico
a1,1x1
= b1
a2,1x1 + a2,2x2
= b2
a3,1x1 + a3,2x2 + a3,3x3
= b3
....
an,1x1 + an,2x2 + ax,3x3 + . . . + an,nxn = bn
Siendo:

ai,j: coeficientes (datos)


bi : constantes (datos)
xi : variables (resultados)

La formulacin matemtica del mtodo se obtiene despejando sucesivamente xi de la ecuacin i


1
(b1)
x1 =
a1,1
x2 =

x3 =

1
(b2 - a2,1x1)
a2,2
1
a3,3

(b3 - a3,1x1 - a3,2x2)

...
En general:

xi =

1
(bi - ai,1x1 - ai,2x2 - . . . - ai,i-1xi-1), i = 2, 3, . . . , n, ai,i 0
ai,i

Algoritmo
ingresar n, a, b
b
x1 1
a1,1
para i = 2, 3, ..., n
s0
para j = 1, 2, ..., i-1
s s + ai,j xi
fin
1
(bi s)
xi
ai,i
fin
mostrar x

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

ICM ESPOL

Instrumentacin computacional en MATLAB


Para que la instrumentacin sea general es preferible disear cada mtodo numrico
independientemente de los datos de un problema particular. Una instrumentacin adecuada
consiste en escribir, en lugar de un programa, una funcin.
El nombre para la funcin ser Triangular. La funcin recibir como datos la matriz de
coeficientes a y el vector de constantes b del sistema de ecuaciones lineales y producir como
resultado el vector solucin x

function x = Triangular(a, b)
n = length(b);
x(1) = b(1)/a(1,1);
for i = 2: n
s = 0;
for j = 1: i-1
s = s + a(i,j)*x(j);
end
x(i) = (b(i) - s)/a(i,i);
end

Con la funcin length MATLAB


encuentra el nmero de ecuaciones

Ejemplo de aplicacin. Escribir los comandos para resolver el siguiente problema usando la
funcin anterior
3x1
=2
7x1 + 5x2
=3
8x1 + 2x2 + 9x3 = 6
>> a = [3 0 0; 7 5 0; 8 2 9]
>> b = [2; 3; 6]
>> x = Triangular(a, b)

Definir la matriz
Definir el vector de constantes
Para usar la funcin

Interaccin con MATLAB


Ventana de
comandos

Ingreso de
comandos

Resultados
obtenidos

Ventana de
edicin

Escribir y
almacenar la
funcin

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

ICM ESPOL

1.6.2 Mtodos Iterativos


En estos mtodos nicamente se puede obtener una respuesta aproximada. Es necesario
comenzar con algn valor estimado para la respuesta y usar alguna una frmula apropiada para
obtener una mejor aproximacin. Este resultado se puede usar nuevamente como valor inicial y
continuar mejorando la respuesta.
Para usar estos mtodos deben considerarse algunos aspectos tales como la eleccin del valor
inicial, la propiedad de convergencia de la frmula y el criterio para terminar las iteraciones.
Estos mtodos son auto-correctivos. La precisin de la respuesta est dada por la distancia entre
el ltimo valor calculado y la respuesta esperada. Esto constituye el error de truncamiento.

Estructura de un mtodo iterativo


El siguiente grfico describe la estructura de un mtodo iterativo

Cada ciclo se denomina iteracin. Si la frmula converge, en cada iteracin la respuesta estar
mas cerca del resultado buscado.

Ejemplo. Instrumentar un mtodo iterativo para calcular la raz cuadrada de un nmero real
positivo mediante operaciones aritmticas bsicas
Modelo matemtico
Sea n un nmero real positivo y x su raz cuadrada
Entonces, x = n puede formularse como el clculo de una raz real de la ecuacin
f(x) = x2 n = 0
Mtodo Numrico
Se usar una frmula que tiene la propiedad de recibir un valor estimado para la raz cuadrada
de n y producir un valor ms cercano a la respuesta. Si se usa repetidamente la frmula puede
observarse que el resultado tiende a un valor final que suponemos es la respuesta buscada. El
anlisis para obtener estas frmulas se realizar posteriormente.
Sean

xa: un valor estimado para la raz


1
n
La frmula: xn = (x a + )
2
xa
Producir un valor xn ms cercano a la raz.

Esta frmula es un mtodo numrico iterativo que puede visualizarse con el grfico siguiente

Ing. Luis Rodrguez Ojeda, MSc.

Anlisis Numrico

ICM ESPOL

Ejemplo. Calcular x = 2 con seis decimales exactos con la ayuda de una calculadora
Sea xa = 1, valor inicial
Clculos
1
n
1
2
xn = (x a + ) = (1 + ) = 1.5
2
xa
2
1
xa = xn = 1.5
1
n
1
2
xn = (x a + ) = (1.5 +
) = 1.416666
2
xa
2
1.5
xa = xn = 1.416666
1
n
1
2
xn = (x a + ) = (1.416666 +
) = 1.414215
2
xa
2
1.416666
xa = xn = 1.414215
1
n
1
2
xn = (x a + ) = (1.414215 +
) = 1.414213
2
xa
2
1.414215
xa = xn = 1.414213
1
n
1
2
xn = (x a + ) = (1.414213 +
) = 1.414213
2
xa
2
1.414213
El ltimo resultado ya tiene seis dgitos decimales que no cambian, por lo tanto podemos
suponer que la respuesta tiene seis decimales exactos.

PREGUNTAS
No necesita entregar sus respuestas
1) Que etapa del proceso de resolucin de un problema numrico requiere mayor atencin?
2) Que tipo de conocimientos son necesarios para formular un modelo matemtico?
3) En el ejemplo del recipiente, Cual sera la desventaja de intentar obtener experimentalmente
la solucin mediante prueba y error en lugar de analizar el modelo matemtico?
4) Que es ms crtico: el error de truncamiento o el error de redondeo?
5) Los errores inherentes, de truncamiento, y de redondeo son independientes, pero al coexistir
en el mismo proceso, su efecto puede incrementar o reducir el error total en el resultado?
6) Cual operacin aritmtica usted piensa que puede introducir mayor error de redondeo: una
suma o una multiplicacin?
7) Cuales son las ventajas y desventajas de un mtodo directo?
8) Cuales son las ventajas y desventajas de un mtodo iterativo?
9) El ejemplo del mtodo numrico para calcular
parece que la convergencia es rpida?

2 produce una secuencia numrica. Le

Ing. Luis Rodrguez Ojeda, MSc.

También podría gustarte