Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ICM ESPOL
ANLISIS NUMRICO
Un Enfoque Algortmico con el Soporte de MATLAB
1
INTRODUCCIN
1.1
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.
Anlisis Numrico
ICM ESPOL
Anlisis
Sean:
Volumen requerido:
rea total:
(1)
(2)
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
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
Anlisis Numrico
1.2
ICM ESPOL
1.3
Algoritmos numricos
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.
Anlisis Numrico
ICM ESPOL
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
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
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
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
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
Anlisis Numrico
1.6
ICM ESPOL
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:
x3 =
1
(b2 - a2,1x1)
a2,2
1
a3,3
...
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
Anlisis Numrico
ICM ESPOL
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
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
Ingreso de
comandos
Resultados
obtenidos
Ventana de
edicin
Escribir y
almacenar la
funcin
Anlisis Numrico
ICM ESPOL
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
Esta frmula es un mtodo numrico iterativo que puede visualizarse con el grfico siguiente
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?