Professional Documents
Culture Documents
Estructura
Fila: Es un conjunto de varias Celdas dispuestas en sentido horizontal.
Ttulo de Fila: Est siempre a la izquierda y nombra a las Filas mediante nmeros,
que en el caso de Excel 97 van desde el 1 hasta el 65,536.
Columna: Es un conjunto de varias Celdas dispuestas en sentido vertical.
Ttulo de Columna: Est siempre arriba y nombra a las Columnas mediante letras,
que en el caso de Excel 97 van desde la A hasta la Z. Luego de la Columna Z
viene la AA, AB, AC, etc.; luego de la AZ viene la BA, la BB, la BC, etc.; y as
sucesivamente.
Celda: Es la interseccin de una Fila y una Columna y en ella se introducen los
grficos, ya se trate de texto, nmeros, fecha u otros datos. Una Celda se nombra
mediante el nombre de la Columna, seguido del nombre de la Fila. Por ejemplo, la
Celda que es la interseccin de la Fila 29 con la Columna F, se denomina F29.
Rango: Los rangos son una referencia a un conjunto de Celdas de una Hoja de
clculos. Se definen mediante letras y nmeros. Se denomina mediante la Celda
de una esquina del rango (generalmente la superior izquierda), luego dos puntos y
la esquina opuesta. Es decir Celda inicial y Celda final del rango, separadas por
dos puntos. Por ejemplo, al rango que comprende las Celdas C4, C5, C6, C7, D4,
D5, D6, D7, E4, E5, E6 y E7 se lo denomina C4:E7.
Al abrir el programa vers la siguiente ventana.
INTRODUCCIN A
MACROS DE EXCEL
Observa la zona con aspecto de papel cuadriculado. Est ordenada en forma de
filas y columnas, formando mltiples cuadros, llamados celdas (que son las
intersecciones de las filas con las columnas).
En la parte superior figuran las barras de herramientas. No siempre figuran todas,
porque se pueden ocultar o mostrar a voluntad.
En la figura puedes ver la barra de men, que contiene los comandos Archivo,
Editar, etc. que son la base de todos los itinerarios de rdenes ms importantes.
Las dos barras que muestra esta pantalla (Estndar y Formato) son las ms
usadas. Las puedes ocultar o mostrar con el comando Ver.
La zona intermedia es la de Trabajo, cuya estructura explicaremos a continuacin,
y la inferior la barra de estado.
Los archivos de Calc reciben el nombre de libros, porque estn compuestos de
hojas distintas (por defecto tres)
Una hoja contiene diferentes celdas distribuidas en filas y columnas, que se
parecen a un papel cuadriculado. Las filas estn rotuladas con nmeros desde 1
hasta 65536 y las columnas con letras simples o dobles que van desde la A hasta
la Z, AA hasta ZZ y AAA hasta la ltima columna que se nombra con las letras
AMJ. Cada celda se nombra mediante su fila y columna. As por ejemplo la celda
B4 ser la situada en la fila 4 y columna B.
Los rtulos de las filas y columnas se encuentran en el borde de la ventana: en la
parte superior los de las columnas y a la izquierda los de las filas. Pulsando sobre
un rtulo se seleccionar toda la columna o fila. Si se pulsa sobre su interseccin
arriba a la izquierda, se seleccionar toda la hoja. Una celda se selecciona al
pulsar sobre la interseccin de los rtulos de filas y de columnas.
de filas y de columnas.
Las Barras ms importantes estn mostradas en la imagen:
- Barra de Mens: Abre los distintos mens: Archivo, Editar, ....
- Barra Estndar: contiene los comandos de Imprimir, Cortar, Pegar, etc.
- Barra de Formatos: permite cambiar Fuentes, Bordes, Rellenos, etc.
- Barra de frmulas: en ella se escriben y corrigen los contenidos de una hoja
Aplicaciones
En principio los macros fueron ideados para crear bancos de objetos grficos
especficos para un rea de aplicacin. Por ejemplo una librera para circuitos
(elctricos) como la que actualmente existe en el banco de macros. En el futuro
podra crearse una librera ms extensa de macros tiles en diversas reas.
Cada autor puede desarrollar los macros que le convenga, ya sea para ahorrarse
trabajo al observar que utiliza varias veces la misma construccin, para
uniformizar la presentacin de varias escenas o para organizar mejor su trabajo.
Los macros son una herramienta abierta cuyas aplicaciones las definirn los
propios usuarios. Como ejemplos de aplicacin de macros pueden verse Ley De
Ohm y la ltima escena de Lentes Esfricas y los diversos ejemplos que hay en
las pginas del Banco de Macros, en especial se recomienda mirar y estudiar los
ejemplos del macro dinmica/masa por ser uno que desde el punto de vista grfico
es muy sencillo, pero que en cambio tiene una gran funcionalidad que hereda
gracias a sus auxiliares.
a grandes rasgos podemos comentar que las 4 grandes "reas" donde se aplican
las macros son:
1. Automatizacin de tareas y procesos que involucran muchos pasos
2. Creacin de nuevas funciones a medida (aparte de las que ya posee Excel).
3. Creacin de nuevos comandos, complementos y mens.
4. Creacin de completas aplicaciones a medida.
Como queda en claro, con las macros podemos automatizar y crear. Veamos un
poco ms en detalle estas 4reas donde aplicaremos las macros.
Automatizacin de procesos: supongamos que todos los das debemos trabajar en
nuestro libro Excel en el cual debemos seleccionar un rango, centrarlo, cambiarle
la fuente, poner la fuente en cursiva, aplicarle negrita y finalmente aplicarle bordes
a toda la seleccin. Excel trae incorporada unas 330 funciones estndar las cuales
se pueden utilizar en forma aislada o en forma combinada (anidadas). Sin
embargo suele suceder que justo la funcin que necesitamos no existe.
Nuevamente, las macros vienen a nuestra salvacin. Podemos programar
funciones a medida que hagan exactamente lo que nosotros queremos. Y esas
funciones se comportarn igual que las de Excel (aparecern en el men de
funciones en la categora que nosotros indiquemos, tendrn sus respectivos
argumentos, etc.) Creacin de nuevos comandos, complementos y mens: Excel
trae una gran cantidad de comandos y mens predefinidos que nos asisten para
las operaciones ms habituales. Las macros nos permiten crear nuestros propios
comandos y mens personalizados, e incorporarlos al Excel. La utilidad de los
mismos depende tan solo de nuestras necesidades. Los complementos Excel
tambin estn creados con macros. Si ves en el men Herramientas >
Complementos vers una lista de los que tienes instalado en tu Excel. Los mismos
suelen ser distribuidos de forma gratuita o tambin se compran. Su utilidad reside
en agregar alguna funcionalidad extra al Excel. Creacin de aplicaciones a
medida: Excel es utilizado en diversos campos y por una gran cantidad de
usuarios. Las macros te permitirn construir complejas y elegantes aplicaciones
para cualquier uso que quieras darles.
Errores comunes
Conforme nos vamos familiarizando con el uso de las formulas, van surgiendo
algunos errores que usualmente son causados por un manejo inadecuado de la
sintaxis o la incompatibilidad con la configuracin de la computadora.
A continuacin se describen los errores ms frecuentes.
1. El valor de error #NOMBRE? aparece cuando Excel no reconoce texto en una
formula. Para solucionar este conflicto se debe revisar la sintaxis e la formula o, si
es una macro, verificar que est en el mdulo de la hoja en la que se est
trabajando.
2. El valor de error #VALOR! Surge cuando se utiliza un tipo de argumento u
operando incorrecto, por ejemplo, cuando evaluamos una funcin numrica en una
celda que contiene algo que no sea un nmero (por defecto, el valor de una celda
vaca es cero).
3. El valor de error #NUM! Aparece cuando existe un problema con algn nmero
en una frmula o funcin. Por ejemplo, si evaluamos una funcin logartmica en
cero o en un nmero negativo.
4. El valor de error #DIV/0! se produce cuando se divide una frmula entre cero.
5. El valor de error #REF! se genera cuando una referencia a una celda no es
vlida.
6. Dependiendo de la forma en la que se encuentre configurado el sistema
Windows, debe usarse punto o coma para separar la parte decimal de los
nmeros a evaluar. Para personalizarlo, se debe entrar al panel de control y en la
Configuracin regional se selecciona `Nmeros'. En la primera cejilla, Smbolo
Decimal' se selecciona el punto o la coma, segn sea el caso. Finalmente, se
presiona el botn Aplicar y luego Aceptar.
7. Existe una circunstancia, que es comnmente confundida con un error esta es
cuando el sistema trabaja con poca precisin y se presentan valores numricos no
esperados. Por ejemplo, si el formato de una celda se ha definido para dos
posiciones, entonces la operacin +1.999+1 dar como resultado el valor de 2,
que no es otra cosa que el resultado de la suma redondeado a dos decimales. El
valor correcto se obtiene aumentando la precisin con el icono:
Grficas en Excel
Microsoft Office Excel 2007 admite muchos tipos de grficos para ayudarle a
mostrar datos de forma comprensible para su audiencia. Cuando crea un grfico o
cambia el tipo de uno existente, puede seleccionar uno de los tipos de grficos
siguientes.
- Grficos de columnas
- Grficos de lneas
- Grficos circulares
- Grficos de barras
- Grficos de rea
- Grficos XY (Dispersin)
- Grficos de cotizaciones
- Grficos de superficie
- Grficos de anillos
- Grficos de burbujas
- Grficos radiales
- Otros tipos de grficos que puede crear en Excel
Ejemplo:
Grficos de columnas
Se pueden trazar datos que se organizan en columnas o filas de una hoja de
clculo en un grfico de columnas. Este tipo de grfico es til para mostrar
cambios de datos en un perodo de tiempo o para ilustrar comparaciones entre
elementos.
En los grficos de columnas, las categoras normalmente se organizan en el eje
horizontal y los valores en el eje vertical.
Los grficos de columnas tienen los siguientes subtipos de grfico:
- Columnas agrupadas y columnas agrupadas en 3D Los grficos de
columnas agrupadas comparan valores entre categoras. Un grfico de
columnas agrupadas muestra valores en rectngulos verticales en 2D. Un
grfico de columnas agrupadas en 3D simplemente muestra los datos con
perspectiva 3D; no se usa un tercer eje de valores (eje de profundidad).
Grficos de superficie
Se pueden trazar datos que se organizan en columnas o filas de una hoja de
clculo en un grfico de superficie. Un grfico de superficie es til cuando busca
combinaciones ptimas entre dos conjuntos de datos. Como en un mapa
topogrfico, los colores y las tramas indican reas que estn en el mismo rango de
valores.
Puede utilizar un grfico de superficie cuando ambas categoras y series de datos
sean valores numricos.
Editor de Visual Basic
Visual Basic para aplicaciones es una combinacin de un entorno de
programacin integrado denominado Editor de Visual Basic y del lenguaje de
programacin Visual Basic, permitiendo disear y desarrollar con facilidad
programas en Visual Basic. El trmino para aplicaciones hace referencia al
hecho de que el lenguaje de programacin y las herramientas de desarrollo estn
integrados con las aplicaciones del Microsoft Office (en este caso, el Microsoft
Excel), de forma que se puedan desarrollar nuevas funcionalidades y soluciones a
medida, con el uso de estas aplicaciones.
El Editor de Visual Basic contiene todas las herramientas de programacin
necesarias para escribir cdigo en Visual Basic y crear soluciones personalizadas.
Este Editor, es una ventana independiente de Microsoft Excel, pero tiene el mismo
aspecto que cualquier otra ventana de una aplicacin Microsoft Office, y funciona
igual para todas estas aplicaciones. Cuando se cierre la aplicacin,
consecuentemente tambin se cerrar la ventana del
Editor de Visual Basic asociada.
El Editor de Visual Basic, VBE por sus siglas en ingls, es un programa
independiente a Excel pero fuertemente relacionado a l porque es el programa
que nos permite escribir cdigo VBA que estar asociado a las macros.
Existen al menos dos alternativas para abrir este editor, la primera de ellas es a
travs del botn Visual Basic de la ficha Programador.
Botn Visual Basic para abrir el editor de cdigo
El segundo mtodo para abrir este programa es, en mi opinin, el ms sencillo y
rpido y que es a travs del atajo de teclado: ALT + F11. El Editor de Visual Basic
contiene varias ventanas y barras de herramientas.
Editor de Visual Basic para Aplicaciones
En la parte izquierda se muestra el Explorador de proyectos el cual muestra el
proyecto VBA creado para el libro actual y adems muestra las hojas
pertenecientes a ese libro de Excel. Si por alguna razn no puedes visualizar este
mdulo puedes habilitarlo en la opcin de men Ver y seleccionando la opcin
Explorador de proyectos.
Mostrar el explorador de proyectos
El Explorador de proyectos tambin nos ayuda a crear o abrir mdulos de cdigo
que se sern de gran utilidad para reutilizar todas las funciones de cdigo VBA
que vayamos escribiendo.
Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato
que est en la parte inferior. Esta ventana es de mucha ayuda al momento de
escribir cdigo VBA porque permite introducir instrucciones y observar el resultado
inmediato. Adems, desde el cdigo VBA podemos imprimir mensajes hacia la
ventana Inmediato con el comando Debug.Print de manera que podamos depurar
nuestro cdigo. Si no puedes observar esta ventana puedes mostrarla tambin
desde el men Ver.
El rea ms grande en blanco es donde escribiremos el cdigo VBA. Es en esa
ventana en donde escribimos y editamos las instrucciones VBA que dan forma a
nuestras macros.
Es importante familiarizarnos con el Editor de Visual Basic antes de iniciar con la
creacin de macros.
Tipos de Macros.
Macros de Excel:
Las macros se pueden agrupar en dos categoras principalmente:
Macros de funciones.
Macros de comandos.
Macros de funciones:
Si ejecuta frecuentemente una tarea en Microsoft Excel, puede automatizarla
mediante una macro. Una macro consiste en una serie de comandos y funciones
que se almacenan en un mdulo de Visual Basic y que puede ejecutarse siempre
que sea necesario ejecutar la tarea. Una macro se graba igual que se graba
msica en un casete. A continuacin, se ejecuta la macro para que repita los
comandos. Con el Editor de Visual Basic, se pueden modificar macros, copiar
macros de un mdulo en otro, copiar macros entre diferentes libros, cambiar de
nombre a los mdulos que almacenan las macros o cambiar de nombre a las
macros.
Macros de comandos
La creacin de estas macro funciones consiste en poner una serie de
ARGUMENTOS, en las cuales podemos ir poniendo los datos que lleva una
funcin normal de Excel para Windows y al final le indicamos que operaciones
hacer con estos ARGUMENTOS y de esta manera se optimiza el uso de varias
frmulas para llegar a un resultado. Es decir la creacin de una funcin simplifica
el uso de varias frmulas, dejndolas como una sola.
Dentro de la codificacin de macros de Excel para Windows se tiene dos grupos
de cdigos.
Visual Basic
Macros de Excel
Macros desde Visual Basic
Es un lenguaje (Codificacin), que se puede utilizar, como lenguaje comn entre
los diferentes programas que se tiene en el Microsoft Office, cabe mencionar que
est basado en un Lenguaje llamado Visual Basic, pero no tiene mucho que ver
con l.
La macros de Visual Basic estn basadas en mdulos, que por tal hecho se
vuelven ms complicadas, teniendo como ventaja que son compatibles dentro de
varias aplicaciones, de esta manera se tendra un lenguaje comn de macros
entre varios programas, con lo cual se logra que se pierda menos tiempo en
realizar una macro en alguno de estos programas. Por esta razn es que las
macros de Visual Basic es visto en un curso en particular.
Grabar Macro y ejecutar una macro
La grabadora de macros funciona de manera similar a una grabadora de cintas.
Una graba lo que la persona dice, otra graba lo que el usuario hace.
Grabar Macro
Antes de grabar o escribir una macro hay que tener en cuenta los siguientes
puntos:
1. Planifique los pasos y los comandos que desea que ejecute la macro
2. Si se comete algn error mientras se graba la macro, tambin se grabarn las
correcciones que se realicen.
3. Cada vez que se grabe una macro, sta se almacenar en un nuevo mdulo
adjunto a un libro.
Al grabar una macro, Excel almacena informacin sobre cada paso dado cuando
se ejecuta una serie de comandos. A continuacin, se ejecuta la macro para que
repita los comandos. Si se comete algn error mientras se graba la macro,
tambin se graban las correcciones que se realicen. Visual Basic almacena cada
macro en un nuevo mdulo adjunto a un libro.
Para grabar una macro seleccione del men Herramientas el comando Grabar
macro y despus del submen Grabar nueva macro.
Al hacerlo aparece la siguiente caja de dilogo:
Se debe asignar un Nombre de la macro junto con una Descripcin, aunque Excel
para Windows siempre asigna estos predeterminados.
Almacenar en son los posibles lugares donde se puede alojar la macro que se
est grabando, ya sea en Este libro, en un Nuevo libro o en el Libro de macros
personal.
En la opcin Mtodo Abreviado aparece que se activara con la tecla Control
(CTRL) + la letra que usted indique, Ejemplo m La macro se activara cuando est
lista con la tecla Control + m
Al presionar Aceptar la grabacin se inicia. En este momento, todas las acciones
que realice se estarn registrando por Excel para Windows. Para finalizar la
grabacin seleccione del men Herramientas el comando Grabar macro y despus
del submen Finalizar grabacin, o presione el botn que aparece al
estarse grabando una macro.
Referencias relativas
Las macros se pueden grabar ya sea con referencias absolutas o relativas. Para
indicarlo, seleccione del men Herramientas el comando Grabar macro y despus
del submen Usar referencias relativas. A menos que esta opcin est
desactivada, la Grabadora de macros usar referencias relativas, no absolutas,
para las celdas de una hoja de clculo.
Botn de finalizar Grabacin Botn de Referencias Relativas
Ejecutar una macro
Para entender la forma de ejecutar una macro podemos utilizar otra vez la
analoga con la grabadora. La voz que se reproduce en la grabadora se escucha
en la bocina, y de la misma forma, la macro que se reproduce en la grabadora se
ejecuta en Excel para Windows.
La ejecucin de la macro se puede hacer de distintas formas. Si tiene asignado
una combinacin de teclas de mtodo abreviado con stas se puede iniciar la
ejecucin.
Se puede ejecutar una macro seleccionndola de una lista en el cuadro de dilogo
Macro. Para que una macro se ejecute cada vez que haga clic en un botn
determinado o presione una combinacin de teclas especfica, asigne la macro a
un botn de la barra de herramientas, a un mtodo abreviado de teclado o a un
objeto grfico de una hoja de clculo. Otra forma de ejecutar una macro es
utilizando del men Herramientas el comando Macro.
Al seleccionar esta opcin aparece la siguiente caja de dilogo:
De las macros listadas, se selecciona la deseada y se presiona Ejecutar. Tambin
se puede ejecutar Paso a paso para revisar los procedimientos que va realizando.
Elementos de programacin en VBA
Un programa computacional escrito mediante cualquier lenguaje de programacin
puede verse a grandes rasgos como un ujo de datos, algunos jugando el papel
de datos de entrada, otros son datos que cumplen alguna funcin temporal dentro
del programa y otros son datos de salida. A lo largo del programa es muy
frecuente que sea necesaria la entrada en accin de otros programas o procesos.
A mayor complejidad del problema que resuelve el programa, mayor es la
necesidad de programar por aparte algunos segmentos de instrucciones que se
especializan en una tarea o conjunto de tareas. Hay tres tipos de estructuras
bsicas que son muy utilizadas en la programacin de un algoritmo, a saber, la
estructura secuencial, la estructura condicional y la repetitiva. A continuacin se
explica, con ejemplos programados como macros de Excel, estas estructuras.
Tambin se incluyen los programas en seudocdigo y diagramas de ujo para
explicar de un modo ms grco la lgica del programa. El uso de estos ltimos es
cada vez menor, pues el seudocdigo por lo general es sucientemente claro y se
escribe en lenguaje muy cercano al lenguaje natural.
Flujo secuencial
El ujo secuencial consiste en seguir una secuencia de pasos que siguen un orden
predeterminado.
Por ejemplo, un programa que a partir de un nmero N de das, calcula la cantidad
de segundos que hay en esta cantidad de das. Este programa se puede ver como
una secuencia de varios pasos:
- Inicio: Ingresa el nmero N de das
- Paso 1: H = 24*N, para determinar la cantidad de horas
- Paso 2: M = 60*H, para determinar la cantidad de minutos.
- Paso 3: S = 60*M, para determinar la cantidad de segundos.
- Paso 4: Retorne S.
- Fin
La macro correspondiente a esta secuencia de clculos puede escribirse como
sigue:
FUNDAMENTOS DE PROGRAMACION
DE VISUAL BASIC (VBA) EN EXCEL
Flujo condicional (If - Else)
Un ujo condicional se presenta en un programa o procedimiento que debe
escoger una accin o proceso a ejecutar, dependiendo de condiciones que
puedan cumplirse. El caso ms sencillo ocurre cuando el programa verifica si una
condicin se cumple y en caso de ser verdadera ejecuta un proceso, en tanto que
si es falsa ejecuta otro proceso. En VBA tenemos la instruccin
If...Then...Else
Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de
una expresin.
Sintaxis
If condicin Then
instrucciones
Else instrucciones else
Puede utilizar la siguiente sintaxis en formato de bloque:
If condicin Then
instrucciones
Else If condicin Then
Instrucciones - elseif
...
Else instrucciones-else
End If
En la ayuda del editor de Visual Basic, tenemos acceso a la referencia del
lenguaje.
Ejemplo
En este ejemplo veremos cmo usar la instruccin If...Then...Else
Obtener un programa que calcule aproximaciones de 2, sabiendo que la sucesin
converge a2, denida en forma recurrente mediante la relacin:
El programa deber estimar el error absoluto de las aproximaciones y ser capaz
de escribir un mensaje de xito o de fracaso, dependiendo de si el error absoluto
es o no menor que una tolerancia dada. Para los resultados que aparecen en la
grca anterior pueden programarse las siguiente macros para ser evaluadas en
cada columna:
El diagrama siguiente ilustra la forma en que esta ltima funcin de vericacin
acta con base en el valor de sus dos parmetros de entrada:
Flujo repetitivo (For-Next, While-Wend, Do While-Loop)
El ujo repetitivo se presenta en un algoritmo cuando se requiere la ejecucin de
un proceso o parte de un proceso sucesivamente, hasta que ocurra una condicin
que permita terminar. Este tipo de ujos repetitivos se presentan en tres formas
que obedecen a maneras diferentes de razonarlos pero que en el fondo hacen lo
mismo:
- Utilizar un contador que empiece en un nmero y termine en otro,
ejecutando el proceso cada vez que el contador tome un valor distinto
- Mientras una condicin sea verdadera, ejecutar un proceso y regresar a la
condicin.
- Ejecutar un proceso, hasta que una condicin deje de cumplirse.
En VBA tenemos las siguientes instrucciones para realizar procesos iterativos:
1. For ... Next
Repite un grupo de instrucciones un nmero especicado de veces. Sintaxis (las
instrucciones entre [ ] son instrucciones adicionales)
2. While...Wend
Ejecuta una serie de instrucciones mientras una condicin dada sea True.
Sintaxis
No hay un
Exit While. En una subrutina, si fuera necesario, se podra usar Exit Sub
3. Una instruccin muy parecida a While pero ms eciente es Do
Sintaxis
Ejemplo
Para ilustrar estas formas de realizar un ujo repetitivo, vamos a aproximar la
suma de una serie alternada comn error estimado menor que una cantidad tol
dada. Consideremos la serie alternada
La suma parcial N -sima viene dada por
es decir
De acuerdo con la teora de series alternadas, la serie es
convergente. Si su suma es S, al aproxi-marla con la suma parcial
, el error de
la aproximacin es menor que es decir
Rangos
Un rango en Excel corresponde a una seleccin de celdas. Una seleccin de las
celdas de una la o una columna se maneja en Excel como una matriz de orden 1
n o de orden n1 (un vector). La seleccin de un bloque de celdas se maneja
como una matriz nm. Si una celda est en blanco, se lee un cero.
Ejemplo
Promedio simple. Consideremos una tabla con 5 notas, todas con igual peso.
Para calcular el promedio simple, en cada la, vamos a hacer una macro que
recibe un rango, cuenta las notas, suma y divide entre el nmero de notas.
En primera celda de la columna Promedio, llamamos a la macro con: PROMEDIO
(C52:G52) pues en este caso el rango es C52:G52.
Subrutinas (Edicin y ejecucin)
Las subrutinas o procedimientos es otro de los tipos bsicos de programas en
Visual Basic. Una descripcin de la sintaxis de una subrutina que no es completa,
pero s suciente para los alcances de este material es la siguiente
Sintaxis:
Sub
Nombre-de-Subrutina (lista-argumentos)
instrucciones
End Sub
o tambin
[Private | Public] [Static] Sub
Nombre-de-Subrutina (lista-argumentos) instrucciones
End Sub
Las partes entre corchetes indican que son opcionales. Adems:
Public. Es opcional. Indica que la subrutina puede ser llamada por todas las
dems subrutinas sin importar donde se encuentre.
Private. Es opcional. Indica que la subrutina puede ser llamada solamente por
otras subrutinas que se encuentren en el mismo mdulo.
Static. Es opcional. Indica que las variables locales de la subrutina se mantienen
constantes de una llamada a otra. El mbito de accin de esta declaracin no
incluye a variables declaradas fuera de la subrutina.
Nombre-De-Subrutina. Es requerido. Indica el nombre de la subrutina.
lista-argumentos. Es opcional e indica las variables que conforman los argumentos
con que una sub-rutina es llamada. Para separar una variable de otra se escribe
una coma.
instrucciones. Es opcional y conforma el conjunto de instrucciones que son
ejecutadas a lo largo de la subrutina.
Ejemplo Elevar al cuadrado los valores de una seleccin (Ejecutar desde la
ventana de ejecucin de macros).
Podemos implementar una subrutina en una hoja, que recorra una seleccin
hecha con el mouse y que vaya elevando al cuadrado el valor de cada celda.
La macro se aplica a los datos que estn actualmente seleccionados
- Para editar la subrutina, vamos al editor VB (Alt-F11) y hacemos doble-clic
sobre (Hoja1)
Escribimos el cdigo, compilamos (en men Depuracin), guardamos y nos
devolvemos a la hoja.
- Para ejecutar la macro seleccionamos la tabla con el mouse y levantamos
la ventana de ejecucin de macros(Alt-F8) y damos clic en Ejecutar
Nota: Esta subrutina tambin se puede editar en un mdulo. Para ejecutarla se
procede de la misma forma.
Matrices dinmicas
Cuando hacemos una seleccin con el mouse, es conveniente entrar los valores
seleccionados en una matriz dinmica, es decir, una matriz que se ajuste a la
cantidad de datos seleccionada y que, eventualmente, se pueda recortar o hacer
ms grande. Una matriz dinmica mtr1de entradas enteras se declara as:
Las instrucciones siguientes cambian el tamao de la matriz mtr1 y la inicializa.
Observe el uso de Redim para cambiar el tamao de la matriz dinmica.
Usando Preserve se puede cambiar el tamao de la matriz mtr1pero sin borrar los
elementos anteriores. Redim Preserve mtr1(15) Cambia el tamao a 15
elementos.
Dada una tabla de valores (xi, fi) se desea estimar f(x) para valores de x que no se
encuentran en la tabla.
Interpolacin directa
En el caso ms usual, se desea pasar un polinomio por los datos. En el ejemplo
mostrado en la figura 1, debemos pasar un polinomio de orden 4 por estos
puntos. Este polinomio es de la siguiente forma:
P4(x) = c1x4 +c2x3 +c3x2 +c4x+c5. (1)
El problema de interpolacin es encontrar los valores de las constantes ci que
hagan que el polinomio pase por los datos, es decir, que P4(xi) = fi. Sustituyendo
los cinco valores de xi se genera el siguiente sistema de 5 ecuaciones con 5
incgnitas:
[
(2)
Resolviendo obtenemos los valores de los coecientes ci:
[
(3)
Una vez que se tiene el vector c se puede escribir el polinomio de interpolacin,
P4(x)=0.0323x4 0.4581x3 + 2.3330x2 4.2102x + 2.3393 (4)
y se puede interpolar para cualquier valor de x.
En general, dados unos datos de la forma
INTERPOLACN
x f
x1
x2
xn+1
f1
f2
fn+1
Figura 1: Dado un conjunto de datos
el valor correspondiente
El polinomio de orden n esta dado por
donde los coecientes
generando un
sistema de n ecuaciones con n incgnitas se le denomina interpolacin directa. El
mtodo de interpolacin directa tiene el problema de que las ecuaciones que se
generan estn mal condicionadas en el caso general a medida que se incrementa
el orden del polinomio de interpolacin debido a que se tienen valores de
.
Debido a lo anterior, se han ideado otros mtodos de interpolacin. El polinomio
de interpolacin es nico, es decir, existe solamente un polinomio de orden n que
pase por datos. Los dems mtodos de interpolacin escriben este
polinomio de formas que resultan ms sencillas de evaluar.
INTERPOLACIN DE NEWTON
0.4
2.5
4.3
5.0
6.0
1.00
0.50
2.00
2.55
4.00
Interpolacin es, a partir de una serie de puntos, obtener una ecuacin cuya curva
pase por todos ellos o lo ms cerca posible.
El mtodo de interpolacin de Newton es un poco ms complicado que el de
Lagrange, pero como todo lo de Newton, es mas preciso.
Por supuesto que este mtodo tiene todo un desarrollo terico para llegar a la
ecuacin general, pero es demasiado largo y para fines prcticos lo que sirve al
final es solo la forma de realizar el mtodo y como aplicarlo.
La ecuacin general para este mtodo es la siguiente:
Lo importante de este mtodo o la parte interesante es el clculo de las b's.
Aqu es donde el mtodo toma su nombre de diferencias divididas. Hay distintas
formas de hacerlo, pero una de las que ms se recomiendan porque es clara y
fcil es la siguiente:
Primero se ponen en 2 columnas acomodados de tal modo que se correspondan
todas las x y las f(x) que se desean interpolar. Despus se hacen a su lado tantas
columnas como puntos son -1, as si son 5 puntos se hacen 4 columnas. As para
el caso de tener 5 puntos el acomodo quedara ms o menos as:
X f(x) f(xi,xi) f(xi,xi,xk) ... ...
x0 f(x0) f(x1,x0) f(x2,x1,x0)
x1 f(x1) f(x2,x1)
f(x3,x2,x1,x0)
x2 f(x2) f(x3,x2) f(x3,x2,x1)
f(x4,x3,x2,x1,x0)
x3 f(x3)
f(x4,x3,x2,x1)
x4 f(x4) f(x4,x3) f(x4,x3,x2)
La notacin
es:
, esto para
.
Para
la notacin
es:
y as se van obteniendo sucesivamente todos los valores de b que son los que
quedan en la primera celda de arriba para abajo en todas las columnas(en las que
aparece la leyenda
Si la aproximacin de f(x) por (x) es buena, un mnimo relativo f(x) se podra
aproximar por un mnimo relativo de por (x). Supongamos que
es un mnimo
relativo de (x), entonces
) = 0.
Desarrollando el gradiente de (x), sustituyendo
Si la matriz hessiana
La expresin anterior se usa como una ecuacin de recurrencia para dado un
punto inicial generar una sucesin de puntos que deben converger al mnimo local
de f(x). Como calcular la inversa de una matriz tiene una mayor complejidad
, la expresin
]
Ejemplo
Ejecute dos iteraciones del mtodo de Newton-Raphson con la funcin:
partiendo del punto P(0.3, 0.6)
Solucin
Como
tenemos:
Por tanto,
(
[
]
Con estos clculos procedemos a hacer la siguiente tabla: (en ella, la coma se usa
para indicar que los puntos deben considerarse como vector columna)
INTERPOLACION CON ESPACIOS NO EQUIDISTANTES O INTERPOLACION
DE LAGRANGE
Si se presenta una funcin tabulada de la forma:
Entonces el polinomio:
O bien:
los coeficientes
se tiene :
donde:
Sustituyendo en la ecuacin de Lagrange
o simplemente :
Mtodo de diferencias finitas
La aproximacin por medio de diferencias finitas es el mtodo ms antiguo
aplicado para obtener la solucin numrica de ecuaciones diferenciales. Se
considera que la primera aplicacin ha sido desarrollada por Euler en 1768.
Las bases del mtodo de diferencias finitas (MDF) consisten en la construccin de
una malla de una manera estructurada, donde los nodos de la misma, en un
espacio n dimensional, estn localizados en las intersecciones de n familias de
lneas rectas, el reemplazo de las derivadas continuas de la ecuacin diferencial
por las expresiones equivalentes en diferencias finitas y la resolucin del sistema
de ecuaciones que queda planteado como consecuencia de la anterior sustitucin.
El MDF es, tal vez, el mtodo ms simple para aplicar, particularmente para mallas
con una geometra uniforme. Su mayor desventaja consiste en su incapacidad
para tratar efectivamente la solucin de problemas sobre formas geomtricas
irregulares.
DIFERENCIACIN
NUMRICA
Discretizacin del dominio
Para obtener la solucin numrica de una ecuacin diferencial en derivadas
parciales utilizando el MDF se debe, como primer paso, discretizar el dominio.
Para ello, el dominio continuo del problema en estudio es reemplazado por una
malla. Las intersecciones de las lneas que constituyen la malla son denominadas
nodos y es en donde se calcula la solucin numrica de la ecuacin diferencial
parcial.
As, por ejemplo, para discretizar el dominio D(x,t) de un problema de
propagacin unidimensional se debern definir los tamaos de paso tanto
temporal como espacial. Estos tamaos de paso son determinados por medio
de las expresiones:
donde
donde:
Aproximaciones en diferencias finitas
El prximo paso para la resolucin numrica de una ecuacin diferencial parcial
utilizando el MDF es el reemplazo de las derivadas continuas de la ecuacin
diferencial por las expresiones equivalentes en diferencias finitas. Esto se logra
utilizando el desarrollo en serie de Taylor de la variable dependiente alrededor de
un punto particular de la malla. Para ello, la variable dependiente en un nodo de la
malla es indicada utilizando como subndice y superndice los ndices que se
utilizan para denotar dicho nodo. As, por ejemplo, la funcin T(x, t) en el nodo (i;j)
es expresada de la siguiente manera:
Para ejemplificar el procedimiento de aproximacin, se considerar la derivada
parcial de primer orden de la funcin T con respecto al tiempo. Para ello, se
utilizar el desarrollo en serie de Taylor de T en (
) y se lo evaluar en
(
) y
despejando el trmino de la derivada segunda resulta:
(3)
De forma similar se obtiene la expresin equivalente:
(4)
Pero de la ecuacin de Laplace:
por lo tanto:
Lo que significa que el valor de la temperatura en un punto se puede escribir como
la media de las temperaturas de los 4 puntos vecinos.
Otro aspecto importante es que las diferencias finitas aproximan cocientes
diferenciales a medida que h se acerca a cero. As que se pueden usar diferencias
finitas para aproximar derivadas. Esta tcnica se emplea a menudo en anlisis
numrico, especialmente en ecuaciones diferenciales numricas ordinarias,
ecuaciones en diferencias y ecuacin en derivadas parciales. Los mtodos
resultantes reciben el nombre de mtodos de diferencias finitas.
Las aplicaciones habituales de los mtodos de diferencias finitas son en los
campos de la computacin y reas de la ingeniera como ingeniera trmica o
mecnica de fluidos.
Mtodo usando polinomios de Lagrange
La derivada de la funcin f (x) en
dando valores de pequeos de h y calcular
tenemos el problema de que
:
Teniendo como datos tres puntos igualmente espaciados en x (h es el paso):
Usando polinomios de Lagrange de ajuste a cinco puntos para aproximar
:
Teniendo como datos tres puntos igualmente espaciados en x (h es el paso):
Ejemplo:
Considere la funcin
Dados una serie de puntos con diferente abscisa
) el
polinomio interpolante de Lagrange de grado n se define como:
Si las ordenadas de los puntos provienen de una funcion f (x) que tiene n + 1
derivadas continuas en un intervalo que contiene a los puntos [a; b], entonces para
todo x en [a; b]
Derivando la formula anterior:
Evaluando en
]
La funcin y = f (x) cambia de signo:
Idea
1. Tomar el punto medio c = (a + b)=2 y determinar f (c).
2. Si (f (c) = 0) el valor | | es menor que una tolerancia dada,
entonces el proceso termina.
3. Si f (a) f (c) < 0, entonces debe buscar en [a; c] haciendo b = c y
reiniciando en el paso 1.
RACES DE ECUACIONES
4. Debe ocurrir que f (c) f (b) < 0; se debe buscar en [c; b] haciendo a = c y
reiniciando en el paso 1.
Ventajas y desventajas
Conocido el intervalo [
)
Localizar el intervalo donde se encuentra la raz puede ser una tarea complicada.
El mtodo de Biseccin es un mtodo recursivo donde se empieza a analizar el
intervalo (a,b). Se calcula el punto intermedio entre a y b, utilizando la frmula:
xMid=(a+b)/2
Existen tres posibilidades al evaluar f(xMid): si f(xMid) es cero, entonces xMid es la
raz; o que la raz se encuentre a la derecha o a la izquierda de xMid.
Biseccin(a,b)
Calcular xMid
Si | f(xMid) | es cero o menor que un nmero muy pequeo (c) entonces
xMid es la raz
de otra forma
Si f(a)*f(xMid)<0 entonces
biseccin(a,xMid)
de otra forma
biseccin(xMid,b)
Mtodo de Newton-Raphson
Est basado en el uso de una lnea tangente como aproximacin de f(x), cerca de
los puntos donde el valor de la funcin es cero.
1.- Escoger un nmero inicial (
)
2.- Calcular la siguiente aproximacin de x1 utilizando la frmula:
3.- Si | | entonces
es una raz
De otra forma pasar al punto 2
Este mtodo, el cual es un mtodo iterativo, es uno de los ms usados y efectivos.
A diferencia de los mtodos anteriores, el mtodo de Newton-Raphson no trabaja
sobre un intervalo sino que basa su frmula en un proceso iterativo.
Supongamos que tenemos la aproximacin a la raz de ,
Trazamos la recta tangente a la curva en el punto ; sta cruza al eje
en un punto que ser nuestra siguiente aproximacin a la raz .
Para calcular el punto , calculamos primero la ecuacin de la recta tangente.
Sabemos que tiene pendiente
Y por lo tanto la ecuacin de la recta tangente es:
Hacemos :
Y despejamos :
Que es la frmula iterativa de Newton-Raphson para calcular la siguiente
aproximacin:
,
si
Note que el mtodo de Newton-Raphson no trabaja con intervalos donde nos
asegure que encontraremos la raz, y de hecho no tenemos ninguna garanta de
que nos aproximaremos a dicha raz. Desde luego, existen ejemplos donde este
mtodo no converge a la raz, en cuyo caso se dice que el mtodo diverge. Sin
embargo, en los casos donde si converge a la raz lo hace con una rapidez
impresionante, por lo cual es uno de los mtodos preferidos por excelencia.
Tambin observe que en el caso de que , el mtodo no se puede
aplicar. De hecho, vemos geomtricamente que esto significa que la recta
tangente es horizontal y por lo tanto no intersecta al eje en ningn punto, a
menos que coincida con ste, en cuyo caso mismo es una raz de !
Ejemplo 1
Usar el mtodo de Newton-Raphson, para aproximar la raz de ,
comenzando con y hasta que .
Solucin
En este caso, tenemos que
De aqu tenemos que:
Comenzamos con y obtenemos:
En este caso, el error aproximado es,
Continuamos el proceso hasta reducir el error aproximado hasta donde se pidi.
Resumimos los resultados en la siguiente tabla:
Aprox. a la raz Error aprox.
1
1.268941421 21.19%
1.309108403 3.06%
1.309799389 0.052%
De lo cual concluimos que , la cual es correcta en todos sus
dgitos!
La misma idea puede aplicarse para crear algoritmos que aproximen races
-simas de nmeros reales positivos.
Observe que cuando el mtodo de Newton-Raphson converge a la raz, lo hace de
una forma muy rpida y de hecho, observamos que el error aproximado disminuye
a pasos agigantados en cada paso del proceso. Aunque no es nuestro objetivo
establecer formalmente las cotas para los errores en cada uno de los mtodos que
hemos estudiado, cabe mencionar que si existen estas cotas que miden con
mayor precisin la rapidez lentitud del mtodo en estudio.
Mtodo de la Secante
Un problema del mtodo de Newton-Raphson es el de la evaluacin de la
derivada, sta se puede aproximar mediante el uso de una lnea secante, en
donde:
Esta aproximacin de la derivada se puede sustituir en la ecuacin de Newton
Raphson.
1.- Escoger un nmero inicial
2.- Calcular la siguiente aproximacin de
utilizando la frmula:
3.- Si |
| entonces
es una raz
De otra forma pasar al punto 2
Este mtodo se basa en la frmula de Newton-Raphson, pero evita el clculo de la
derivada usando la siguiente aproximacin:
Sustituyendo en la frmula de Newton-Raphson, obtenemos:
Que es la frmula del mtodo de la secante. Ntese que para poder calcular el
valor de , necesitamos conocer los dos valores anteriores y .
Obsrvese tambin, el gran parecido con la frmula del mtodo de la regla falsa.
La diferencia entre una y otra es que mientras el mtodo de la regla falsa trabaja
sobre intervalos cerrados, el mtodo de la secante es un proceso iterativo y por lo
mismo, encuentra la aproximacin casi con la misma rapidez que el mtodo de
Newton-Raphson. Claro, corre el mismo riesgo de ste ltimo de no converger a la
raz, mientras que el mtodo de la regla falsa va a la segura.
Ejemplo 1
Usar el mtodo de la secante para aproximar la raz de ,
comenzando con , y hasta que .
Solucin
Tenemos que y , que sustituimos en la frmula de
la secante para calcular la aproximacin :
Con un error aproximado de:
Como todava no se logra el objetivo, continuamos con el proceso. Resumimos los
resultados en la siguiente tabla:
Aprox. a la raz Error aprox.
0
1 100%
0.612699837 63.2%
0.653442133 6.23%
0.652917265 0.08%
De lo cual concluimos que la aproximacin a la raz es:
Ejemplo 2
Usar el mtodo de la secante para aproximar la raz de ,
comenzando con y , y hasta que .
Solucin
Tenemos los valores y , que sustituimos en la
frmula de la secante para obtener la aproximacin :
Con un error aproximado de:
Como todava no se logra el objetivo, continuamos con el proceso. Resumimos los
resultados en la siguiente tabla:
Aprox. a la raz Error aprox.
0
1 100%
0.823315073 21.4%
0.852330280 3.40%
0.853169121 0.09%
De lo cual concluimos que la aproximacin a la raz es:
Mtodo de Gauss
Este mtodo nos ayuda a encontrar la solucin de un sistema de ecuaciones lineal
transformando la matriz de coeficientes en un sistema triangular inferior, mediante
la matriz amentada, realizndole operaciones elementales y obteniendo sistemas
equivalentes, para despus realizar una sustitucin hacia atrs y encontrar los
MATRICES Y SISTEMAS DE
ECUACIONES LINEALES
valores de la solucin. Esto es:
Donde:
T es la matriz de triangular del sistema de ecuaciones
Y b es el vector de trminos independientes del nuevo sistema equivalente
Modelo
Supuestos de aplicacin
El sistema debe de tener solucin nica, esto es, que el determinante de la
matriz debe de ser diferente de cero .
La matriz de coeficientes no debe tener ceros en la diagonal.
El sistema tiene n variable y n incgnitas.
Valores Inciales
El nmero de variables que contiene el sistema.
La matriz de coeficientes.
El vector de trminos independientes.
Ecuacin Recursiva
1. Frmulas para la Triangularizacin del sistema de ecuaciones de la matriz
aumentada.
Para
Para
Para
Si
Si
Siguiente
Siguiente
Siguiente
Frmulas para la sustitucin regresiva y encontrar los valores de las variables
Para
Para
Siguiente
Siguiente
Convergencia
La triangulacin se detiene cuando todos los elementos por debajo de la diagonal
son igual a cero.
La sustitucin regresiva se detiene cuando se hayan obtenido todos los valores de
las variables.
Ejemplo
Resolver el siguiente sistema de ecuaciones
Vamos a analizar si el sistema tiene solucin, sacando el determinante de la
matriz de coeficientes:
Despus de la primera iteracin nos queda el siguiente sistema equivalente:
Despus de la segunda iteracin nos queda el siguiente sistema equivalente:
Despus de la tercera iteracin nos queda el siguiente sistema equivalente:
En este momento ya se tiene la matriz de coeficientes en forma triangular y el
siguiente paso es realizar la sustitucin hacia atrs. Se obtiene la siguiente
solucin para el sistema de ecuaciones:
Solucin: x1= -0.1346
x2= 0.2766
x3= 0.3458
x4= -0.2206
Vector de trminos
independientes
Matriz de Coeficientes
=-537 por lo tanto el sistema tiene solucin.
Para comprobar si la solucin del sistema es correcta se debe cumplir lo siguiente:
Prueba:
Es un mtodo directo que nos da la solucin exacta, si existe, en un numero finito
de pasos u operaciones.
Pretendemos resolver un sistema de ecuaciones lineales dado mediante su
transformacin en otro sistema equivalente que se resuelva fcilmente. Dichos
sistemas tienen una forma concreta.
Un sistema de ecuaciones lineales se denomina escalonado (o reducido) si la
matriz del sistema verifica que
1. Todos los elementos por debajo de los
4. Sumando mltiplos adecuados de la primera fila a las dems, anulamos
todos los elementos de la primera columna no nula menos el primero.
5. Repetimos el proceso, con la matriz que resulta de eliminar la primera fila
y la primera columna, hasta conseguir un sistema escalonado.
En algunos casos podemos ahorrarnos clculos no siguiendo a rajatabla los pasos
del proceso explicado.
Por ejemplo, si en la primera columna no nula hay un uno conviene, en el primer
paso, tomar a como dicho elemento, pues as nos ahorraremos el paso tercero.
Esto nos permite afirmar que dado un sistema, el sistema escalonado obtenido a
partir de l no es nico, aunque si hay ciertas caractersticas que son comunes a
todos ellos, a saber:
- El numero de filas no nulas (numero de ecuaciones independientes que
tiene el sistema) que coincide con el numero de pivotes.
- El pivote de cada fila esta situado siempre en la misma columna.
Finalmente, una vez obtenido el sistema escalonado, lo resolvemos por sustitucin
regresiva.
Mtodo de Gauss con pivoteo parcial y total
Cuando un proceso matemtico no esta definido para un valor particular de un
parmetro, es muy posible que el proceso funcione numricamente mal cerca de
ese valor. El siguiente ejemplo ilustra las consecuencias de operar con un pivote
pequeo.
Ejemplo. Por eliminacin gaussiana y trabajando con dos y cuatro cifras
respectivamente, resolver el sistema de ecuaciones:
Este ejemplo prueba que la aparicin de un pivote pequeo puede ser el anuncio
de un desastre computacional. Por ello debemos modificar el mtodo de
eliminacin de Gauss para evitar pivotes pequeos intercambiando las filas y las
columnas de la matriz A. Concretamente:
Eliminacin gaussiana con pivoteo total. Si en la etapa r-sima del proceso de
eliminacin el pivote es demasiado pequeo, elegimos el elemento
como nuevo pivote. Para ello intercambiamos las filas r y
p y las columnas r y q de forma que situamos el elemento en la posicin
Obviamente hemos tomado para no perturbar los ceros que ya
tenemos. Posteriormente continuamos la eliminacin con el nuevo pivote.
Eliminacin gaussiana con pivote parcial. En este caso la alternativa consiste en
buscar solamente en la r-sima columna; es decir, tomar
como nuevo pivote. Para ello intercambiamos las filas r y
p, continuando posteriormente el proceso de eliminacin.
En la prctica, el mtodo de Gauss con pivoteo total puede consumir mucho
tiempo, computacional mente hablando, pues para hallar el mximo en cada paso
hay que buscar entre elementos.
En el otro caso, adems del ahorro de tiempo, las incgnitas de nuestro sistema
no cambian de orden en el sistema reducido. Por ello, en general, es suficiente
utilizar un pivoteo parcial.
Factorizacin L U
La factorizacin LU de una matriz es una factorizacin que resume el proceso de
eliminacin gaussiana aplicado a la matriz y que es conveniente en trminos del
nmero 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.
Factorizacin LU
Suponga que la matriz A es una matriz se puede escribir como el producto
de dos matrices:
A = L U
donde L es una matriz triangular inferior y U es una matriz escalonada
. Entonces para resolver el sistema:
,
escribimos
Una posible estrategia de solucin consiste en tomar y resolver para y:
:
Como la matriz L es triangular superior este sistema puede resolverse mediante
sustitucin hacia abajo, lo cual se hace fcilmente en
U matriz escalonada
que cumplen:
P A = L U
1. Tome
2. Mientras que U no sea escalonada hacer
2.1. Aplicar una operacin R de eliminacin o de intercambio a U
2.2. Si R es de la forma
, entonces aplicar R a P y a L.
2.3. Si R es de la forma
3. Tome
.
Ejemplo
Determine una factorizacin P A = L U de la matriz
Solucin
Tomemos
1. Si aplicamos sobre
:
Estos cambios se registran en
:
Estos cambios se registran en
la operacin de intercambio
se obtiene la
nueva matriz
:
Aplicando la operacin de intercambio a
y a
, se tiene:
4. Puesto que la matriz
y se tiene:
Mtodo de Cholesky
Este mtodo nos ayuda a encontrar las matrices LU cuando la matriz es positiva
definida y la matriz de coeficientes es simtrica.
Este mtodo supone que U=LT
Modelo
A = LU
Supuestos de aplicacin
El sistema tenga solucin nica.
La matriz A sea cuadrada.
La matriz A sea simtrica ( ).
La matriz A sea definida positiva (los determinantes de los menores sean > 0)
Valores Inciales
El nmero de variables.
La matriz de coeficientes.
El vector de trminos independientes.
Ecuacin Recursiva
Las ecuaciones recursivas para realizar la factorizacin LU son las siguientes:
Donde: todas
:
Las siguientes ecuaciones son para solucionar el sistema de ecuaciones. Para
obtener el vector
979 225 55
225 55 15
55 15 6
y C=
(
(
(
100
150
100
Solucin:
En el mtodo de Cholesky el primer paso es encontrar la matriz L usando las
frmulas
ii
i
j
kj ij ki
ki
l
l l a
l
=
1
1
y
=
=
1
1
2
k
j
kj kk kk
l a l
La primera ecuacin se usa para elementos fuera de la diagonal y la segunda para
elementos en la diagonal principal.
Entonces.
6
11 11
= = a l = 2.4495
4495 . 2
15
11
21
21
= =
l
a
l = 6.1237
4495 . 2
55
11
31
21
= =
l
a
l = 22.454 Ya sabemos que l
12
= 0
2 2
21 22 22
1237 . 6 55 = = l a l = 4.1833
1833 . 4
) 454 . 22 )( 1237 . 6 ( 55
22
31 21 32
32
=
=
l
l l a
l = 20.916
De igual forma l
13
= l
23
= 0 y
) 916 . 20 454 . 22 ( 979 ) (
2 2 2
32
2
31 33 33
+ = + = l l a l = 6.1106
La matriz L es igual a
(
(
(
=
1106 . 6 916 . 20 454 . 22
0 1833 . 4 1237 . 6
0 0 4495 . 2
L
En el mtodo de Cholesky U = L
T
(
(
(
=
1106 . 6 0 0
916 . 20 1833 . 4 0
454 . 22 1237 . 6 4495 . 2
U
El siguiente paso es encontrar el vector D de la misma manera que en el mtodo
de descomposicin de LU
ii
i
j
j ij i
i
l
d l c
d
=
1
1
4495 . 2
100
11
1
1
= =
l
c
d =40.8246
1833 . 4
) 8246 . 40 )( 1237 . 6 ( 150
22
1 21 2
2
=
=
l
d l c
d =-23.9045
1106 . 6
) 9045 . 23 )( 916 . 20 ( ) 8246 . 40 )( 454 . 22 (( 100 ) (
33
2 32 1 31 3
3
+
=
+
=
l
d l d l c
d =-51.826
Finalmente se calcula el vector de incgnitas comenzando por la ltima x.
ii
n
i j
j ij i
i
u
x u d
x
+ =
=
1
33
3
3
u
d
x = =-8.481
22
3 23 2
2
u
x u d
x
= = [-23.9045-(20.916)(-8.481)]/4.1833 = 36.690
11
3 13 2 12 1
1
) (
u
x u x u d
x
+
= = [40.8246 ((6.1237)(36.69)+(22.454)(-8.481))]/2.4495 =
2.685
El resultado se puede comprobar multiplicando A por X y el resultado debe ser
igual a C.
Metodo de Jacobi
Un mtodo iterativo es un mtodo que progresivamente va calculando
aproximaciones a la solucin de un problema. En Matemticas, en un mtodo
iterativo se repite un mismo proceso de mejora sobre una solucin aproximada: se
espera que lo obtenido sea una solucin mas aproximada que la inicial. El proceso
se repite sobre esta nueva solucin hasta que el resultado mas reciente satisfaga
ciertos requisitos. A diferencia de los mtodos directos, en los cuales se debe
terminar el proceso para tener la respuesta, en los mtodos iterativos se puede
suspender el proceso al trmino de una iteracin y se obtiene una aproximacin a
la solucin.
El mtodo Jacobi es el mtodo iterativo para resolver sistemas de ecuaciones
lineales ms simple y se aplica slo a sistemas cuadrados, es decir a sistemas
con tantas incgnitas como ecuaciones.
1. Primero se determina la ecuacin de recurrencia. Para ello se ordenan las
ecuaciones y las incgnitas. De la ecuacin i se despeja la incgnita i. En
notacin matricial se escribirse como:
donde x es el vector de incgnitas.
2. Se toma una aproximacin para las soluciones y a sta se le designa por
3. Se itera en el ciclo que cambia la aproximacin
Ejemplo
Partiendo de aplique dos iteraciones del mtodo de Jacobi para
resolver el sistema:
[
]
Solucin
Debemos primeramente despejar de la ecuacin la incgnita correspondiente.
Escrito en la notacin vectorial quedara:
Aplicamos la primera iteracin partiendo de
Aplicamos la segunda iteracin partiendo de
:
Aplicamos la siguiente iteracin partiendo de
:
Aplicamos la siguiente iteracin partiendo de
:
Aplicamos la siguiente iteracin partiendo de
:
Aplicamos la siguiente iteracin partiendo de
:
Los valores quedan de acuerdo a la siguiente tabla:
donde
Este
es menos
que cierto valor dado (digamos 0.001) uno ya no realiza la siguiente iteracin. Si
se grca las aproximaciones obtenidas en el plano se obtendra algo
como:
El Mtodo de Gauss-Seidel
El mtodo de Gauss-Seidel es muy semejante al mtodo de Jacobi. Mientras que
en el de Jacobi se utiliza el valor de las incgnitas para determinar una nueva
aproximacin, en el de Gauss-Seidel se va utilizando los valores de las incgnitas
recin calculados en la misma iteracin, y no en la siguiente. Por ejemplo, en el
mtodo de Jacobi se obtiene en el primer clculo
en lugar de
de igual manera procede con las siguientes variables; siempre se utilizan las
variables recien calculadas.
Ejemplo
Partiendo de ( ) aplique dos iteraciones del mtodo de Gauss-Seidel
para resolver el sistema:
[
]
Solucin
Debemos primeramente despejar de la ecuacin la incgnita correspondiente.
Aplicamos la primera iteracin partiendo de
Aplicamos la segunda iteracin partiendo de
Aplicamos la tercera iteracin partiendo de
:
Mtodo para hallar valores y vectores propios
Definiciones.- Dada una matriz cuadrada A de orden 3 se dice que el numero
es un valor propio de A si existe un vector columna tridimensional c no nulo.
El vector c se llama vector propio de A asociado al valor propio
c
valor propio
auto valor
valor caracterstico
eigenvalor
valor propio
auto valor
valor caracterstico
eigenvalor
Mtodo para hallar valores y vectores propios. Por definicin, un vector propio c
debe ser un vector columna distinto de
Buscamos
y c tales que
Esta ecuacin es equivalente a
, siendo
al segundo miembro
Damos a
[]
Algoritmo
Para calcular el punto xi+1, calculamos primero la ecuacin de la recta tangente.
Sabemos que tiene pendiente
Y por lo tanto la ecuacin de la recta tangente es:
Hacemos y=0:
Y despejamos x:
Que es la frmula iterativa de Newton-Raphson para calcular la siguiente
aproximacin:
,
si
La primera derivada de la ec. [1] por lo tanto, el mtodo de
Newton-Raphson estndar para este problema es:
que se resuelve iterativamente para obtener
El mtodo converge en forma lineal hacia el valor verdadero 1;0.
Para el caso del mtodo modificado, la segunda derivada es: y
en consecuencia la ecuacin iterativa ser [6]
que se resuelve para obtener
La formula modificada converge en forma cuadrtica.
Se pueden usar ambos mtodos para buscar la raz simple en x = 3. Con un valor
inicial
Donde los valores de r y s estn dados y calculamos los incrementos dr y ds que
hacen a b
1
(r+dr, s+ds) y b
0
(r+dr, s+dr) igual a cero. El sistema de ecuaciones
que tenemos que resolver es:
Bairtow muestra que las derivadas parciales pueden obtener haciendo un
procedimiento similar a la divisin sinttica, as
c
n
= b
n
c
n-1
= b
n-1
+ rc
n
c
i
= b
i
+ rc
i+1
+ sc
i+2
Donde
Sustituyendo trmino
Ejemplo
Dado el polinomio f
5
(x) = x
5
- 3.5x
4
+ 2.75x
3
+ 2.125x
2
- 3.875x + 1.25, determinar
los valores de r y s que hacen el resido igual a cero. Considere r
0
= -1 y s
0
= 2.
Solucin.
Iteracin 1.
La divisin sinttica con el polinomio f
2
(x) = x
2
-x + 2.0 da como resultado
f3(x) = x
3
- 4.5x
2
+ 9.25x - 16.125 Residuo = {30.75, -61.75}
Aplicando el mtodo de Newton tenemos
-43.875 16.75 dr -30.75
108.125 -43.875 ds 61.75
de donde
r
1
= -1.0 + 2.7636812508572213 =1.7636812508572213
s
1
= 2.0 + 5.403374022767796 =7.403374022767796
Iteracin 2.
La divisin sinttica con el polinomio
f
2
(x) = x
2
-1.7636812508572213x - 7.403374022767796
da como resultado
f3(x) = x
3
- 1.7363187491427787x
2
+ 7.091061199392814x - 1.776754563401905
Residuo = {51.75640698828836, 105.68578319650365}
Aplicando el mtodo de Newton tenemos
27.628006 14.542693 dr -51.75640
208.148405 27.62800 ds -105.68578
de donde
r
2
= 1.7636812508572213 - 0.04728019113442016 = 1.7164010597228012
s
2
= 7.403374022767796 - 3.469106187802152 = 3.934267834965644
Iteracin 3.
La divisin sinttica con el polinomio
f
2
(x)= x
2
-1.7164010597228012x- 3.934267834965644
da como resultado
f3(x) =x
3
-1.7835989402771988x
2
+ 3.622896723753395x + 1.3261878347051992
Residuo = {12.654716254544885, 28.1881465309956}
Aplicando el mtodo de Newton tenemos
13.83497 7.44182 dr -12.65471
65.679212 13.83497 ds -28.18814
De donde
r
3
= 1.7164010597228012 - 0.11666951305731528 = 1.599731546665486
s
3
= 3.934267834965644 - 1.4835870659929915 = 2.4506807689726524
En resumen
k r s Residuo
0 -1 2 30.75 -61.75
1 1.76368 7.403374 51.756406 105.68578
2 1.71640 3.93426 12.65471 28.18814
3 1.599731 2.450680 2.89958 8.15467
4 1.33354 2.18666 0.760122 2.522228
5 1.11826 2.11302 0.271940 0.607688
6 1.02705 2.02317 0.04313 0.11185
7 1.00165 2.00153 0.00277 0.00634
8 1.00000 2.00000 1.13930E-5 2.67534E-5
La solucin es:
f
3
(x) = x
3
- 2.53x
2
+ 2.25x - 0.625 y f
2
(x) = x
2
- x - 2
Las races de f
2
(x) = x
2
- x - 2, son
x1 = 2
x2 = -1
Si repetimos el ejemplo pero ahora considerando el polinomio
f
3
(x) = x
3
- 2.53x
2
+ 2.25x - 0.625
Podemos calcular el total de las races del polinomio original.
Ajuste de mnimos cuadrados a una ecuacin lineal
Interpolacin y ajuste de curvas
En ocasiones se tienen una serie de datos y se desconoce la funcin que los ha
generado y se desea saber cul es sta. Lo primero que se debe hacer es graficar
los puntos segn sea el caso, para conocer su comportamiento y de esta forma
decidir cul mtodo es ms apropiado utilizar con fines predictivos.
Existen varios mtodos aqu nos dedicaremos nicamente a mnimos cuadrados.
Ajuste para una recta
La nube de puntos de una representacin de datos en papel milimetrado nos
permita visualizar la relacin entre dos variables x e y.
Al representar el diagrama de dispersin de los datos podemos encontrar las
siguientes situaciones:
- Distribuciones estadsticas para las que la nube de puntos se dispone de tal
forma que existe una funcin matemtica cuyos puntos son una parte de su
representacin grfica.
REGRESIN LINEAL Y
AJUSTE DE CURVAS
- Sin coincidir exactamente sus puntos con las de una grfica de una funcin
matemtica, se aproximan a ella con mayor o menor intensidad.
- La nube de puntos presenta un aspecto tal que no existe concentracin de
puntos hacia ninguna grfica matemtica, distribuyndose de una forma
uniforme en una regin del plano.
En el primer caso se dice que existe una dependencia funcional o exacta entre las
variables x e y, es decir existe una funcin matemtica tal que y = f(x). En el
segundo caso se dice que existe una dependencia estadstica o
aproximadamente entre las dos variables, y f(x). Y en el ltimo caso diramos
que las variables son independientes.
Es el segundo caso del que se ocupa la teora de la regresin.
Las tcnicas de regresin tienen por objeto modelizar, es decir, encontrar una
funcin que aproxime lo mximo posible la relacin de dependencia estadstica
entre variables y predecir los valores de una de ellas: y (variable dependiente) a
partir de los de la otra (o las otras): x (variables(s) independiente(s)). La regresin
es lineal cuando el modelo funcin de regresin seleccionado es una recta. En
cualquier otro caso se dice regresin no lineal.
El procedimiento ser:
1. Elegir un tipo de funcin o curva que creamos que mejor relaciona las dos
variables; esto lo podemos hacer observando la nube de puntos.
2. Obtener la ecuacin de la curva, de entre las infinitas de dicho tipo que hay en
el plano, que mejor se adapte al conjunto de puntos. El objetivo de obtener esa
ecuacin ser predecir el valor de la variable y dado un valor
de la variable x.
3. Obtener una medida del grado de esta asociacin o correlacin. Esto me dar la
fiabilidad de las predicciones que haga con esta ecuacin.
Ajuste de curvas por mnimos cuadrados
La regresin por mnimos cuadrados, es una tcnica cuyo objetivo es derivar una
curva que minimice la discrepancia entre los puntos y la curva. Algunas
suposiciones estadsticas inherentes en los procedimientos por mnimos
cuadrados lineales son:
1. Cada x tiene un valor fijo, no es aleatorio y es conocido sin error.
2. Los valores y son valores aleatorios independientes y todos tienen la misma
varianza.
3. Los valores de y para una x dada deben ser normalmente distribuidos.
4. La regresin de y contra x no es la misma que la de x contra y.
Mtodo de los mnimos cuadrados.
Dados los puntos
Otro que denominamos terico,
, que se obtendra al sustituir
en la
funcin.
Como se puede observar, para cada
El mtodo de los mnimos cuadrados consiste en determinar los parmetros
(
, y el terico,