HOJAS DE CÁLCULOExcel básico
Pedro CorcueraDpto. Matemática Aplicada y Ciencias de la ComputaciónUniversidad de Cantabria
Excel 2
Índice
• Técnicas generales de resolución de problemas.• Introducción a Excel.
Excel 3
Objetivos
• Técnicas generales de resolución de problemas.• Aplicación de hojas de cálculo en problemas de
ingeniería.
Técnicas generales de resolución de problemas
Excel 4
Excel 5
Técnicas generales de resolución de problemas
• El análisis de ingeniería es un proceso sistemáticopara analizar y comprender los problemas que se encuentran en los diversos campos de la ingeniería.
• Para llevar a cabo este proceso de manerasatisfactoria se debe estar familiarizado con técnicasgenerales de resolución de problemas.
Excel 6
Pasos para la resolución de problemas1
• Pensar sobre el problema antes de intentarresolverlo.
• Dibujar un esquema del problema antes de empezara resolverlo.
• Identificar el propósito general y los puntos clave.• Identificar la información conocida (datos de
entrada) y la información a calcularse (datos de salida).
• Identificar los principios de ingeniería básicos quepueden aplicarse.
Excel 7
Pasos para la resolución de problemas2
• Pensar en la manera de resolver el problema antes de empezar la solución.
• Desarrollar la solución de manera ordenada y lógica.• Después de obtener la solución, pensar en ella.
Tiene sentido? →Validación de resultados• Asegurarse que la solución es clara y completa.
Excel 8
Fundamentos de Ingeniería aplicables
• Equilibrio: La mayoría de problemas de estadoestable (problemas en los que las cosas permanecenconstantes respecto al tiempo) se basan en algún tipode equilibrio. Ejm: Equilibrio de fuerzas, Equilibrio de flujo, Equilibrio químico
• Leyes de Conservación: Las más comunes son la conservación de masa y energía.
• Fenómenos de cambio: Tienen la forma de un potencial que cambia un flujo. Ejm: ley de Ohm, ley de Fourier.
Excel 9
Técnicas de solución matemática1
• Análisis de datos. Técnicas estadísticas para obtenerinformación a partir de un conjunto de datos.
• Ajuste de curvas. Trata de pasar una función que aproximeun conjunto de datos.
• Interpolación. Para obtener valores precisos de una variable dependiente a partir de un conjunto de datos tabulados.
• Solución de ecuaciones algebraicas simples y linealessimultáneas. Muchos problemas de ingeniería se representan como un conjunto de eals.
• Evaluar derivadas e integrales. En ingeniería se requierecalcular tasas de cambio y promedios.
Excel 10
Técnicas de solución matemática2
• Optimización. Seleccionar la mejor alternativa entre variascon un criterio óptimo.
• Análisis económico de ingeniería. Selección económica de alternativas.
• Solución de ecuaciones diferenciales ordinarias y parciales. Muchos problemas de ingeniería.
• Representar grafos. En ingeniería.• Simulación. Selección.• Visualización. Seleccionar.
Excel 11
Procedimientos de solución matemática
• Simbólicos: soluciones que se expresan en términosalgebraicos.– Mapple– Mathematica– Matlab (Symbolic toolbox)– MathCad
• Numéricos: soluciones expresadas en términos de números(o grafos).– Hojas de cálculo– Matlab– Lenguajes de programación (Fortran, C, Phyton, Script)
Excel 12
Rol de las hojas de cálculo
• Las hojas de cálculo se han convertido en una de lasherramientas principales del ingeniero debido a la facilidadde uso y su aplicación en la solución de problemas numéricosy su representación gráfica.
• Hay hojas de cálculo para todo tipo de plataforma (PCs, Cloud, móvil). Una de las más extendidas para PC es Excelque se encuentra dentro del entorno MS Office.
• Hay versiones gratuitas como LibreOffice Calc y OpenOffice Calc.
• Como desventajas de su uso se considera que promueven la dispersión y manipulación hetérogenea de los datos, pocaadecuación a documentación de cálculos y depuración.
Excel 13
Funcionamiento de las hojas de cálculo
• Las hojas de cálculo se componen de celdas dispuestas enfilas y columnas que pueden contener valores numéricos, alfanuméricos o relaciones entre sí. También permitengraficar los valores de las celdas.
Manejo de Excel
Excel 14
Excel 15
Iniciar Excel
• Botón Inicio → Todos los programas → Microsoft Office →Excel
• Haciendo doble click sobre el icono de acceso directo a Microsoft Office Excel
Excel 16
Cerrar Excel
• Botón Cerrar que se encuentra en la parte superior derechade la venta de Excel
• Menú Archivo → Cerrar
• Pulsando teclas Alt + F4
Excel 17
Nuevo, Abrir, Guardar, Imprimir, Configurar
• Menú Archivo →
Excel 18
Ventana Excel
Excel 19
Componentes de la ventana1
• Barra de título
– Ayuda de Microsoft Excel (F1)– Opciones de presentación de la cinta de opciones– Minimizar – Maximizar – Cerrar
• Barra de acceso rápido– Guardar– Deshacer– Rehacer– Personalizar barra de herramientas de acceso rápido
Excel 20
Componentes de la ventana2
• Cinta de Opciones
– Pulsando tecla ALT (modo de acceso por teclado)
Excel 21
Componentes de la ventana3
• Cuadro de nombres y Barra de fórmulas: muestra el contenido de la celda activa
• Hoja de cálculo: contiene celdas identificadas por la columna(letra) y fila (número)
Excel 22
Componentes de la ventana4
• Barra de hojas de trabajo
• Barra de estado y visualización
Excel 23
Fundamentos de Excel1
• Un libro de trabajo (workbook) es el archivo que creamos con Excel.
• Un libro de trabajo está formado por varias hojas de trabajo(worksheet).
• La hoja de cálculo es uno de los distintos tipos de hojas que puede contener un libro de trabajo. Es como una gran hoja cuadriculada formada por 16.384 columnas y 1.048.576 filas.
• Los elementos individuales (intersección de una columna y una fila) dentro de una hoja de cálculo se llaman celdas.
Excel 24
Fundamentos de Excel2
• Un rango de celdas es un bloque rectangular de una o más celdas que Excel trata como una unidad.
• Una celda puede contener dos tipos diferentes de datos: – una constante numérica (un número) o – una constante de texto (etiqueta o cadena de caracteres).
• Cada celda se referencia o llama por su columna(normalmente una letra) y el número de fila. Ejm: B3 referencia la celda en la columna B y fila 3.
Excel 25
Fundamentos de Excel3
• Un conjunto de celdas forman una hoja de trabajo.• Si una celda contiene un valor numérico, el número puede
haberse escrito directamente o ser el resultado de la evaluación de una fórmula.
• Una fórmula expresa interdependencias entre celdas. Ejm: el valor numérico en la celda C7 es generado por la fórmula=(C3+C4+C5).
• Esta importante característica permite análisis del tipo quépasa si (what-if).
Excel 26
Movimientos por la hoja1
• La celda activa en curso se identifica con un rectánguloalrededor de ella.
• El puntero del ratón se indica por un cursor en cruz que indica la posición del ratón.
• Para moverse por la hoja de cálculo se puede usar:– Ratón– Teclas– Barra de desplazamiento– Cuadro de nombres– Opción: Inicio → Buscar y seleccionar → Ir a… (F5)
Excel 27
Movimientos por la hoja2
• Las teclas o combinación de ellas para moverse rápidamentepor la hoja de cálculo son:
MOVIMIENTO TECLADO
Celda Abajo / Celda Arriba FLECHA ABAJO / FLECHA ARRIBA
Celda Derecha / Celda Izquierda FLECHADERECHA / FLECHA IZQUIERDA
Pantalla Abajo / Pantalla Arriba AVPAG / REPAG
Celda A1 CTRL+INICIO
Primera celda de la columna activa FIN + FLECHA ARRIBA
Última celda de la columna activa FIN + FLECHA ABAJO
Primera celda de la fila activa FIN + FLECHA IZQUIERDA
Última celda de la fila activa FIN + FLECHA DERECHA
Última fila de la hoja CTRL + FLECHA ABAJO
Última columna de la hoja CTRL + FLECHA DERECHA
Excel 28
Movimiento en el libro
• En un libro de trabajo existen varias hojas de cálculo. Por defecto aparece una hoja de cálculo aunque el número puede aumentarse.
• Para seleccionar una hoja activa se usa la barra de etiquetas.
• Opcionalmente con teclasMOVIMIENTO TECLADO
Hoja Siguiente CTRL+ AVPAG
Hoja Anterior CTRL+ REPAG
Excel 29
Introducción de datos
• Dato es cualquier información que se puede utilizar en unafórmula.
• Los pasos para introducir datos son los mismos que para introducir rótulos:– Seleccionar la celda.– Escribir el dato.– Pulsar Entrar o seleccionar otra celda haciendo clic sobre ella o
pulsando las teclas del cursor.• También se puede usar los iconos en la barra de fórmula
para ingresar/modificar los datos.
Excel 30
Datos numéricos
• Son los más frecuentes en las hojas de cálculo. Se debetener en cuenta que Excel:– Alinea a la derecha con formato general.– Dispone de gran variedad de formatos.– Utiliza la notación científica cuando no cabe en la celda.– Para fracciones se escribe la parte entera, se deja un espacio en
blanco y a continuación la fracción.– Para introducir porcentajes se teclea el número seguido del símbolo
%.– Cuando un número no cabe llena la celda con #######
• Ejercicio: Introducir 12345,6789 ; 7,25% y 2 3/5
Excel 31
Asignación de nombres
• Para facilitar la comprensión de las hojas de cálculo, conviene poner nombres a las celdas.
• Para asignar un nombre a una celda o rango de celdas:– Seleccionar la celda o rango de celdas.– Escribir el texto (máximo 255 caracteres) de la etiqueta en el
Cuadro de nombres y Pulsar Entrar (↵). – También se puede usar el Administrador de nombres que se
encuentra en la pestaña Fórmulas.
Excel 32
Eliminar o borrar contenido de celdas
• Si se está escribiendo los datos se puede usar la tecla de Retroceso, o se puede reescribir el dato. El nuevo datoreemplazará al antiguo, una vez que se pulsa Entrar.
• Se puede borrar una celda activa pulsando la tecla Supr o desde Inicio→Borrar → Todo/Contenido.
• Si se está escribiendo los datos o formulas también se puedeemplear el icono Cancelar de la barra de edición de celda.
Excel 33
Inserción de figuras, texto, imágenes y ecuaciones1
• Para introducir figuras, esquemas, texto artístico e imágenesse selecciona:– Formas: Insertar → Ilustraciones → Formas– Esquemas: Insertar → Ilustraciones → SmartArt– Imágenes prediseñadas: Insertar → Ilustraciones → Imágenes en
línea– Imágenes desde archivo: Insertar → Ilustraciones → Imágenes– Texto artístico: Insertar → Texto → WordArt– Cuadros de Texto: Insertar → Texto → Cuadro de texto– Ecuaciones: Insertar → Símbolos → Ecuación
Excel 34
Inserción de figuras, texto, imágenes y ecuaciones2
Excel 35
Formato F1C1 para celdas
• El formato por defecto de las hojas de cálculo es A1, es decir, columna-fila.
• Hay otro formato para hacer referencia a celdas que es fila-columa y es llamado F1C1.
• Para ello se selecciona Archivo→Opciones →Fórmulas→ Estilo de referencia F1C1.
• Este estilo usa números para identificar las filas y columnas. Ejemplo: F(1)C(2) hace referencia absoluta a la fila 1, columna 2.
Excel 36
Fórmulas
• El éxito de las hojas de cálculo se debe a que se puedenrelacionar las celdas a través de fórmulas.
• Para introducir una fórmula:– Seleccionar la celda– Escribir el signo igual (=)– Escribir la fórmula: operandos y operadores– Pulsar Entrar
• Las fórmulas empiezan con el signo igual (=).• Lo que muestra una celda es el valor del resultado de la
fórmula.• Los operandos de fórmulas pueden ser referencias a celdas
que contienen los datos. Las celdas de referencia puedenestar en otras hojas o libros.
Excel 37
Ejemplo de fórmula
• Ejercicio: Calcular el equivalente en pesetas de 123,45 €.• Como calculadora manual.
• Como hoja de cálculo.
Excel 38
Operadores1
• Excel incluye operadores aritméticos, de texto, de comparación y de referencia.
• Operadores aritméticosOperador aritmético Significado Ejemplo
+ (signo más) Suma 3+3 – (signo menos) Resta
Negación 3–1 –1
* (asterisco) Multiplicación 3*3/ (barra oblicua) División 3/3 | =A1+B1-C2*A4/A2
% (signo de porcentaje) Porcentaje 20%
^ (acento circunflejo) Exponenciación 3^2
Excel 39
Operadores2
• Operadores de comparación: el resultado es un valor lógico, VERDADERO o FALSO
Operador de comparación Significado Ejemplo
= (signo igual) Igual a A1 = B1> (signo mayor que) Mayor que A1 > B1
< (signo menor que) Menor que A1 < B1>= (signo mayor o igual que) Mayor o igual que A1 >= B1
<= (signo menor o igual que) Menor o igual que A1 <= B1
<> (signo distinto de) Distinto de A1 <> B1
Excel 40
Operadores3
• Operador de texto o concatenación (&): une o concatena una o varias cadenas de texto con el fin de generar un solo elemento de texto.
Operador de texto Significado Ejemplo
& ("y" comercial) Conecta o concatena dos valores para generar un valor de texto continuo
("Viento"&"norte")
Excel 41
Operadores4
• Operadores de referencia: combina rangos de celdas para los cálculos con los siguientes operadores.
Operador de referencia
Significado Ejemplo
: (dos puntos) Operador de rango, que genera una referencia a todas las celdas entre dos referencias, éstas incluidas.
B5:B15
; (punto y coma) Operador de unión, que combina varias referencias en una sola
SUMA(B5:B15;D5:D15)
(espacio) Operador de intersección, que genera una referencia a las celdas comunes a las dos referencias
B7:D7 C6:C8
Excel 42
Precedencia de operadores
• Si una fórmula contiene operadores con la misma prioridadse evaluará de izquierda a derecha.
• Para cambiar el orden de evaluación usar paréntesis.
Orden de prioridad Operador Descripción1 − Negación2 % Porcentaje3 ^ Exponente4 * / Multiplicación y división5 + − Suma y resta6 & Concatenación
7 = < > <= >= <> Comparación
Excel 43
Fórmulas con datos en más de una hoja
• Excel permite crear fórmulas que operan con datosalmacenados en más de una hoja de un mismo libro.
• Ejemplo: Se desea calcular los totales de ingresos y gastosdel primer trimestre.– Barra de hojas → Hoja nueva – Vista → Nueva Ventana | Organizar todo - Mosaico
Excel 44
Fórmulas con datos en más de una hoja
Excel 45
Fórmulas con datos en más de un libro
• Excel permite crear fórmulas que operan con datosalmacenados en más de un libro.
• Ejemplo: El grupo G1 tiene dos empresas A y B. Cada unaentrega un libro a G1 para consolidar.
Excel 46
Fórmulas con datos en más de un libro
Excel 47
Referencias circulares
• Una fórmula puede hacer referencia a otra siempre que la segunda fórmula no haga referencia a la primera fórmula.
• Si las fórmulas se referencian entre ellas se tiene unareferencia circular. En ese caso la evaluación de las fórmulas requiere el valor de la otra. Por ello se debe evitarlas referencias circulares.
• Excel detecta las referencias circulares con el mensaje e indicación en la hoja.
Excel 48
Formato de celdas1
• Excel presenta el valor de una celda según el formatoasignado.
• El formato no afecta al contenido de la celda, sólo a supresentación.
• Si se cambia el formato de la celda, el mismo valor puedesignificar cosas diferentes.
• También se puede cambiar la apariencia de una celda: tipode fuente, tamaño, alineación, color, etc.
• Ventana Formato de celdas: Inicio → Celdas → Formato → Formato de celdas ó Celda → Botón derecho
Excel 49
Formato de celdas2
Excel 50
Formato de celdas3
• Formato de números. – General: El contenido se presenta como se ha introducido.– Número: Adecuado para representar números. Se especifica el
número de decimales, separador de miles y números negativos– Moneda: Se usa para cantidades monetarias. Se especifica el
número de decimales, la moneda y formato de negativos.– Contabilidad: Igual que el formato moneda, la diferencia es que
alinea los números por la coma decimal y el símbolo de moneda.
Excel 51
Formato de celdas4
• Ejemplo: Introducir en la celda A2 el valor 12345,6789 y enlas celdas D2:D5 las fórmulas adecuadas para que tenganigual valor que la celda A2. Asignar a cada celda del rangoD2:D5 el formato que se indica.
Excel 52
Formato de celdas5
• Fecha-Hora– Fecha: número (parte decimal cero) que indica los días
transcurridos desde el 1/01/1900 hasta la fecha indicada. – Hora: fracción decimal (parte entera cero) que tiene como unidad el
día (1 equivale a 24 horas).
Excel 53
Formato de celdas6
• Ejemplo: Introduce los datos de tu nacimiento (fecha, hora y fecha-hora) en las celdas B8:B10. Las celdas C8:C10 tienenel mismo valor pero con formato número (3 decimales y separador de miles).
Excel 54
Formato de celdas7
• Otros Formatos:– Porcentaje: Multiplica el valor de la celda por 100 y añade el
símbolo porcentual (%).– Fracción: Muestra los números en forma de fracción.– Científica: Parte entera y decimal seguido de la letra E y de un
entero que indica el exponente de 10.– Texto: Se presenta tal como se introduce el texto.– Especial: Se usa para números que representan determinados
datos (código postal y teléfono).– Personalizada: Se escribe el formato que se ajusta a nuestra
necesidades adaptando los códigos predefinidos. Códigos #, 0, ?
Excel 55
Formato de celdas8
Excel 56
Formato de celdas9
• Otras opciones:– Alineación: permite modificar y establecer la Alineación del texto,
Orientación, Control del texto y Dirección del texto.– Fuente: permite modificar la Fuente (tipo de letra), Estilo, Tamaño,
Subrayado, Color y Efectos.– Bordes: permite aplicar distintos tipos de bordes a una celda.– Relleno: permite dar a las celdas distintos tipos de sombreado
(color del fondo) y de trama.– Proteger: permite bloquear y ocultar celdas. Para que que este tipo
de formato tenga efecto es necesario activar la opción Revisar → Proteger hoja (asignar contraseña).
Excel 57
Otras opciones de Formato10
• Copiar formato, permite copiar el formato de una celda a otras celdas. Se usa el botón que está en Inicio.
• Formato condicional, permite modificar el formato de la celda dependiendo de su valor.
• Dar formato como tabla, asigna un formato prediseñado que puede aplicarse rápidamente a un rango de celdas.
• Para ajustar el ancho de una columna (fila):– Método 1: colocar el cursor en el extremo derecho del encabezado
de la columna (fila). El puntero cambia a una cruz. Después con el ratón se arrastra .
– Método 2: usar comando Formato→Columna/Ancho.
Excel 58
Operaciones en rango de celdas
• Muchas operaciones se realizan sobre un rango o conjuntode celdas.
• Selección de un bloque de celdas:– Ratón: clic sobre una celda esquina del bloque y arrastrar
o mantener pulsada la tecla Shift hasta la esquinaopuesta.
– Si el bloque no es contiguo pulsar la tecla Ctrl.– Toda la hoja: Pulsar en el botón de la esquina superior
izquierda.• Borrar el contenido de un bloque de celdas:
– Primero se selecciona el bloque de celdas y luego se pulsa la tecla Supr.
Excel 59
Operaciones en rango de celdas
• Selección de filas (columnas) enteras:– Hacer clic sobre el número (letra) que identifica la fila
(columna). – Para seleccionar filas (columnas) contiguas se selecciona
la primera y se arrastra el ratón sobre los identificadoresde fila (columna).
– También se hace clic sobre el primer identificador y manteneniendo pulsada la tecla Shift se hace clic sobreel último identificador.
– Si los bloques no son contiguos mantener pulsada la teclaCtrl.
Excel 60
Nombres de celdas1
• Excel permite asignar nombres (propios) a celdas o bloquesde celdas, así como constantes y fórmulas.
• Los nombres se pueden pueden usar en fórmulas.• El nombre es válido en todo el libro, por tanto no se puede
dar el mismo nombre a dos celdas, rangos, constantes o fómulas diferentes.
• La sintaxis de los nombres es similar a las variables de un lenguaje de programación (p.e. Fortran)
Excel 61
Nombres de celdas2
• Para asignar un nombre a una celda o bloque:– Seleccionar la celda o rango.– Clic en el interior del Cuadro de nombres.– Tecleamos el nombre.– Pulsamos la tecla Entrar (Intro). ← No olvidar!
Excel 62
Nombres de constantes o fórmulas
• Para gestionar nombres en un libro:
Excel 63
Copiar y pegar celdas
• Método I – Copiar y Pegar– Seleccionar el bloque de celdas.– Seleccionar Copiar en el menú Portapapeles de
Inicio.– Mover el puntero a la esquina superior izquierda de la
nueva ubicación.– Pulsar Enter o seleccionar Pegar en el menú
Portapapeles. • Método II – con el ratón
– Seleccionar el bloque de celdas.– Mover el puntero a cualquier borde de las celdas seleccionadas. – Pulsar la tecla Ctrl y el botón izquierdo del ratón y arrastrar el
bloque a la nueva ubicación.– Soltar el botón del ratón.
Excel 64
Mover celdas
• Método I – Copiar y Pegar– Seleccionar el bloque de celdas.– Seleccionar Cortar en el menú Portapapeles de
Inicio.– Mover el puntero a la esquina superior izquierda de la
nueva ubicación.– Pulsar Enter o seleccionar Pegar en el menú
Portapapeles. • Método II – con el ratón
– Seleccionar el bloque de celdas.– Mover el puntero a cualquier borde de las celdas seleccionadas. – Pulsar el botón izquierdo del ratón y arrastrar el bloque a la nueva
ubicación.– Soltar el botón del ratón.
Excel 65
Insertar celdas
• Celdas– Seleccionar la celda o bloque de celdas
donde se desea insertar.– Ejecutar Inicio → Celdas → Insertar.
Se abre la ventana Insertar celdas.– Seleccionar la opción que interesa. Pulsar
Aceptar.• Filas (columnas)
– Seleccionar la fila(s) (columna(s)) donde se deseainsertar.
– Ejecutar Insertar → Filas (Columnas).
Excel 66
Eliminar - Deshacer
• Usar el comando Inicio → Celdas → Eliminar– Seleccionar la celda o bloque de celdas que se
desea eliminar.– Ejecutar Edición → Eliminar. Se abre la
ventana Eliminar celdas.– Seleccionar la opción que interesa. Pulsar
Aceptar. – En el caso de seleccionar filas (columnas) se
elimina directamente la selección.• Para deshacer los cambios
– Seleccionar Deshacer en el menú Edición. – O el icono Deshacer en la barra estándar.
Excel 67
Introducir datos repetidos
• Escribir el mismo dato en varias celdas de una hoja:– Seleccionar las celdas.– Introducir el dato.– Pulsar simultáneamente las teclas Ctrl - Entrar.
• Escribir el mismo dato en varias hojas de un libro:– Seleccionar las hojas del libro (clic sobre su etiqueta y
mantener pulsada la tecla Ctrl sobre el resto de etiquetas).
– Teclear los datos sobre una de ellas.
Excel 68
Serie de datos o fechas1
• Series de datos consecutivos mediante el controladorde relleno– Introducir el primer dato de la serie en una celda y situar el cursor
sobre el controlador de relleno de la celda. Cuando adopte la forma + hacer clic con el botón izquierdo del ratón y arrastrar en la dirección vertical u horizontal que interesa.
– Situar el puntero sobre el cuadro y hacer clic para desplegar el cuadro de opciones.
– Hacer clic sobre la opción que interesa.
Excel 69
Serie de datos o fechas2
• Con el controlador de relleno– Introducir los dos primeros datos de la serie en dos celdas
contiguas de una fila (o columna).– Seleccionar dichas celdas.– Arrastrar el controlador de relleno horizontalmete (o
verticalmente).
Excel 70
Serie de datos o fechas3
• Series de datos consecutivos mediante el controladorde relleno– Desde Inicio → Modificar → Rellenar → Series
Excel 71
Listas personalizadas1
• Se puede configurar desde Inicio → Opciones → Avanzadas → General → Modificar listaspersonalizadas
Excel 72
Listas personalizadas2
• Se puede configurar desde Inicio → Opciones → Avanzadas → General → Modificar listaspersonalizadas
Excel 73
Referencias de celda1
• Cuando se crea una fórmula se puede utilizar tres tipos de referencia a celdas y a rangos de celdas:– Referencias relativas, cuando al copiar la fórmula cambia la fila y
la columna.– Referencias absolutas, cuando al copiar la fórmula no cambia la
fila ni la columna.– Referencias mixtas, cuando al copiar la fórmula cambia la fila
(columna) y permanece fija la columna (fila).
Excel 74
Referencias relativas2
• Son las más frecuentes y son las que se usa pordefecto.
• Cuando se copia una fórmula, Excel actualizaautomáticamente la fila y la columna ajustándolas a las de la celda en la que se ha hecho la copia.
• Si en C1 hay una fórmula = A1+B1 y se copia en la celda C2, en la celda C2 la formula cambia automáticamente a: = A2+B2.
Excel 75
Referencias absolutas3
• Se requieren cuando se necesita que una referenciaa celda o rango no cambie al copiar la fórmula.
• Para indicar referencia absoluta se antepone un signodólar ($) a la letra que indica la columna y otro signodólar ($) al número que indica la fila.
• Ejemplo: Si en C1 hay una fórmula = $A$1+$B$1 y se copia en la celda C2, en la celda C2 la fórmula no cambia.
Excel 76
Referencias mixtas4
• Se requieren cuando al copiar la fórmula no cambie la fila o columna.
• Tienen una parte de referencia absoluta, que no cambia al copiar, y otra parte de la referencia relativa, que sí cambia al copiar.
• Se antepone el signo dólar ($) a la parte absoluta (fija).
• Se puede usar la tecla F4 para introducir las referencias absolutas.
Excel 77
Validación de datos1
• La protección de celdas es útil para impedir que el usuariomodifique fórmulas, rótulos, etc.
• Para controlar la entrada de datos es útil la validación de datos. Así se restringe el tipo de datos, fija límites, establecevalores de una lista, utiliza una fórmula, visualiza un mensajeal seleccionar una celda y un mensaje de error al introducirun dato erróneo.
• Para establecer un criterio de validación de datos:– Seleccionar una celda o rango.– Ejecutar comando Datos→Validación de datos
Excel 78
Validación de datos2
• Ejemplo: Operadores_formatos_graficos_etc.xlsx
Excel 79
Otras opciones del menú Archivo
• Guardar la hoja de cálculo– Hay varias formas. La más común es pulsar el icono Guardar en
la barra de herramientas estándar.– El format (extension) por defecto es .xlsx. Otro formato es .xlsm
para macros.• Recuperar la hoja de cálculo
– Seleccionar Abrir en el menú Abrir.• Impresión de la hoja de cálculo
– Para imprimir toda la hoja seleccionar Imprimir en el menú Abrir. Luego seleccionar la opción Hojas activas.
– Para imprimir una parte se debe seleccionar el bloque de celdaspreviamente y escoger Imprimir selección.
Excel 80
Otras opciones
• Mostrar fórmulas de las celdas– Seleccionar Archivo → Opciones → Avanzadas → Mostrar
opciones para esta hoja (seleccionar hoja o libro) → Mostrar fórmulas en celdas en lugar de los resultadoscalculados.
• Creación y ejecución de Macros– Una macro es una serie de acciones consecutivas de teclas y/o
ratón que se guarda con un nombre para una ejecución posterior de forma directa o mediante una combinación de teclas. Las macros se guardan en programas VBA.
– Primero hay que habilitar la pestaña Desarrollador: Archivo → Opciones → Personalizar cinta de opciones → Desarrollador (seleccionar).
– Para grabar una macro seleccionar Desarrollador→ Grabar macro (código) →Grabar nueva macro. Después Detenergrabación.
Funciones
Excel 81
Excel 82
Funciones1
• Las funciones son fórmulas predefinidas que ejecutancálculos utilizando valores específicos (argumentos).
• Características de las funciones:– Estructura: Una función comienza por el nombre de la función,
seguido de un paréntesis de apertura, los argumentos de la funciónseparados por comas y un paréntesis de cierre. Ejm: SUMA(C1,C2,C3)
– Argumentos: Los argumentos pueden ser obligatorios u opcionales. Pueden ser constantes, fórmulas u otras funciones Los tipos de dato pueden ser números, texto, valores lógicos, valores de error (p.e. #N/A), fechas o referencias de celda.
Excel 83
Funciones2
• Directamente, cuando se conoce la sintaxis de la función.• Asistente para funciones, seleccionar Fórmulas →
Insertar función (Biblioteca de funciones) en la cinta de opciones o en la barra de fórmulas.
Excel 84
Funciones2
• La opción Ayuda sobre esta función ofrece unaexplicación, sintaxis, observaciones y ejemplos de cadafunción.
Excel 85
Funciones3
• Se puede introducir funciones anidadas con el asistente para funciones.
• Las funciones Suma, Promedio, Cuenta, Máx y Mín se usancon mucha frecuencia y por ello están disponibles en el botónAutosuma de la pestaña Fórmulas.
Excel 86
Categorías de Funciones
• Funciones matemáticas y trigonométricas• Funciones lógicas• Funciones estadísticas• Funciones financieras• Funciones de búsqueda y referencia• Funciones de información• Funciones de texto• Funciones de ingeniería• Funciones de fecha y hora• Funciones de base de datos• Funciones de compatibilidad• Funciones de cubo• Funciones web• Funciones definidas por el usuario instaladas con complementos
Excel 87
Funciones Lógicas
• SI comprueba si se cumple una condición y devuelve un valor si se evalúa como VERDADERO y otro valor si se evalúa como FALSO.
Permiten crear funciones lógicas tales como:• Y• O• NO• XO
Excel 88
Funciones Fecha y Hora
• Excel representa los días mediante números enterossecuenciales llamados números de serie de fecha.
• Para representar la hora usa la parte decimal del número de serie. Excel usa las fechas como números en fórmulas y funciones.
• HOY, AHORA• DIA, MES, AÑO• DIASEM, FECHA, DIAS360• HORA, MINUTO, SEGUNDO• NSHORA, FECHA.MES
Excel 89
Funciones Búsqueda y Referencia
• Las funciones de búsqueda permiten localizar un valor enuna lista y extraer información de una tabla o matriz de datos.
• BUSCARV, BUSCARH , BUSCAR• COINCIDIR, INDICE• TRANSPONER (operación matricial)
Excel 90
Funciones Financieras
• Excel incorpora funciones que permiten resolver la mayoríade problemas financieros de las empresas y de evaluación de proyectos.
• PAGO, PAGOINT, PAGOPRIN• VA, VF, NPER, TASA• VNA, TIR
Excel 91
Funciones Matemáticas y trigonométricas
• Excel ofrece un repertorio de funciones matemáticas y trigonométricas amplio.
• PI, SUMA, PRODUCTO, POTENCIA, RESIDUO, ABS, SIGNO, RAIZ, NUMERO.ROMANO, SUMAR.SI, SUMAPRODUCTO, REDONDEAR, TRUNCAR, ENTERO, COMBINAT, M.C.D., M.C.M.
• EXP, LN, LOG, LOG10, ALEATORIO• ACOS, ASENO, ACOSH, ASENOH, ATAN,
ATAN2, ATANH, COS, COSH, GRADOS, RADIANES, SENO, SENOH, TAN, TANH
• MDETERM, MINVERSA, MMULT
Excel 92
Funciones Estadísticas
• Excel ofrece un repertorio de funciones estadísticas amplio. • CONTAR, CONTAR.BLANCO, CONTARA,
CONTAR.SI, FRECUENCIA, MIN, MAX, MEDIANA, MODA, PROMEDIO.
• PENDIENTE, INTERSECCION.EJE, ESTIMACION.LINEAL, COEF.DE.CORREL
• DESVEST, DISTR.BINOM, DISTR.NORMAL, PRUEBA.F, VAR
Excel 93
Funciones Información y Texto
• Las funciones de información permiten comprobar el tipo de dato de un valor o de una referencia. Útiles para comprobarel tipo de resultado que se ha obtenido de un cálculo. Normalmente se usan combinadas con la función SI.
• Las funciones de texto permite realizar operaciones sobre el texto.
• ESBLANCO, ESERROR, ESNUMERO, ESTEXTO, TIPO.
• CONCATENAR, DECIMAL, MONEDA, TEXTO, MAYUS, MINUSC, NOMPROPIO, VALOR.
Excel 94
Funciones de Ingeniería
• Las funciones de ingeniería incluyen funciones propias de cálculos de ingeniería.
• BESSELI, BESSELJ, BESSELK, BESSELY• BIN.A.DEC, BIN.A.HEX, DEC.A.BIN, DEC.A.HEX• COMPLEJO, IM.ABS, IM.ANGULO,
IM.CONJUGADA, IM.DIV, IM.EXP, IM.LN, IM.PRODUCT, IM.POT, IM.RAIZ2, IM.SUM, IM.SUSTR, IMAGINARIO
Excel 95
Funciones Base de datos
• Las funciones de bases de datos incluyen funciones para la gestión de datos organizados como base de datos.
• BDMIN, BDMAX, BDPROMEDIO
Gráficos
Excel 96
Excel 97
Gráficos de datos1
• La obtención de gráficos de datos es la tarea más comúnrealizada con una hoja de cálculo.
• Excel dispone de un asistente para gráficos para crear con facilidad gráficos que muestran la información de modo claroy atractivo.
• Conceptos para crear gráficos:– Cada dato en la hoja se representa en el gráfico mediante un
marcador de dato.– Cada conjunto de datos constituye una serie de datos.– Cada componente de una serie de datos constituye una categoría.
Excel 98
Gráficos de datos2
• Datos + Selección del gráfico (Insertar → Gráficos)
Excel 99
Elementos de los gráficos
1. El área del gráfico.2. El área de trazado del gráfico.3. Los puntos de datos de la serie de
datos que se trazan en el gráfico.4. Los ejes horizontal (categorías) y
vertical (valores) en los que se trazan los datos del gráfico.
5. La leyenda del gráfico.6. Un título de eje y de gráfico que
puede agregar al gráfico.7. Una etiqueta de datos que puede
usar para identificar los detalles de un punto de datos de una serie de datos.
Excel 100
Hojas de gráfico y Gráfico Incrustado
• Hoja de gráfico, es una hoja de cálculo que contieneúnicamente un gráfico.
• Gráfico incrustado, se considera como un objeto gráficosituado en la hoja.
Excel 101
Tipos de gráficos1
• Tipos estándar:– Columna y Barra, adecuados para comparar categorías.– Línea, apropiado para mostrar la tendencia de una serie de valores
medidos a intervalos regulares de tiempo.– Circular, usados para representar las distintas partes que
componen un total.• Anillos, equivalente al gráfico circular, pero adaptado para representar varias
series de datos.– Área, iguales a los de líneas, pero rellenan los espacios
comprendidos entre las líneas que representan los valores.– XY (dispersión), adecuado para representar pares de valores.
• Burbujas, similar al de dispersión pero con un valor adicional para tamañodel marcador.
Excel 102
Tipos de gráficos2
• Tipos estándar:– Cotizaciones, gráficos específicos para representra cotizaciones
de valores bursátiles.– Superficie, crea superficies 3D o curvas de nivel en superficies.– Radial, radial con marcadores en cada valor de datos.– Cuadro combinado, permite combiner dos tipos diferentes de
gráficos en uno solo. • Para cada tipo estándar existen subtipos o variants del
mismo.
Excel 103
Ejemplos de gráficos de datos
• Gráficos de varios tipos(Operadores_formatos_graficos_etc.xlsx).
• Gráfico X-Y (Ejemplograf.xlsx)El voltaje en un condensador varía con el tiempo según la fórmula V= 10 e-0.5t
donde: V representa el voltaje y t el tiempo en segundos.
– Mostrar los datos con una precisión de tres decimales. – Preparar un gráfico para el rango de 0 a 10 segundos. – Etiquetar el gráfico para que sea legible.
Excel 104
Ejemplos de gráficos de datos
• Gráfico Semilog X-Y (Ejemplograf.xlsx)– Hacer doble click
sobre el eje o pulsar botón derecho del ratón y seleccionarDar formato al eje .
– En Opciones del ejeseleccionar Escalalogarítmica.
Excel 105
Ejemplos de gráficos de datos
• Gráfico Log-Log X-Y (Ejemplograf.xlsx)– Construir una hoja para calcular el área (A=4πr2) y
volumen de una esfera (V=4/3 πr3) para r = rango de 0.1-10 en incrementos de 1.
– Graficar el área y volumen en gráficos tipo X-Y y log-log
0.0500.0
1000.01500.02000.02500.03000.03500.04000.04500.0
0 2 4 6 8 10 12Radio (metros)
Propiedades de una esfera
Area
Volumen
0.00010.001
0.010.1
110
1001000
10000
0.01 0.1 1 10 100Radio (metros)
Propiedades de una esfera
Area
Volumen
Excel 106
Gráficos – Ejes múltiples
• Problema: Graficar varias series de datos con diferentes ordenes de magnitud.
• Ejemplo: Ejes_multiples.xls• Una opción es usar un eje secundario. Para ello
seleccionar la serie y con el botón derecho del ratónseleccionar Formato de serie de datos. En la pestañaEje seleccionar Eje secundario.
• Otra opción puede ser pasar los datos a escalasimilar multiplicando (o dividiendo) por un factor de escala (múltiplo de 10).
Excel 107
Gráficos – Ejes múltiples
• Como Excel sólo admite un eje secundario, unaopción adicional es crear un eje falso.
• Para crear el eje falso se mantiene una de las coordenadas constante. Es necesario editarmanualmente los valores de Y.
• Se puede añadir elementos gráficos (flechas) y textoa partir de la barra de dibujo en el gráfico.
Excel 108
Gráficos – Ejes múltiples
Excel 109
Gráficos – tipo radial
• Problema: A partir de un gráfico creado cambiarlo sin partir de cero.
• Ejemplo: Ejes_multiples.xls• Seleccionar el gráfico con el botón derecho del ratón
y cambar el tipo de gráfico a Radial.• El tipo Radial exige que los datos de X estén
espaciados uniformemente. El espacio entre las líneas de división siempre es uniforme y habrá tantoscomo datos.
• Modificar el Formato de líneas de división para representar adecuadamente los valores.
Excel 110
Gráficos – tipo radial
Excel 111
Gráficos – Superficies 3D
• Problema: Crear un gráfico de superficie 3D para mostrar los resultados de un estudio de optimizaciónmultidimensional o mostrar datos topográficos.
• Ejemplo: Ejes_multiples.xls• Se utilizará el tipo de gráfico Superficie.• Se requiere que los datos X e Y estén espaciados
uniformemente. Se puede agregar una leyenda con un rango de colores apropiado para el usuario.
• Se puede representar el gráfico como malla de alambres o colores. Excel permite cambiar el puntode vista 3D.
Excel 112
Gráficos – Superficies 3D
• Ejemplo: gráfico de la funciónpara k=1.25
kyx
yxZ ⋅
+
+−= 22
22 )cos(1
Excel 113
Gráficos – Contorno
• Problema: Crear un gráfico tipo contorno (curvas de nivel) para un mapa con la elevación del terreno, un mapa de presiones u otra variable distribuída en unacuadrícula espaciada uniformemente.
• Ejemplo: Ejes_multiples.xls• Se utilizará el tipo de gráfico Superficie, opción
Contorno.• Se recomienda mostrar la leyenda y usar una escala
apropiada para mostrar los datos de interés.
Excel 114
Gráficos – Contorno
• Contorno con dos escalas
Excel 115
Gráficos – Combinar tipos
• Problema: Mostrar distintas series de datos en el mismo gráfico con diferentes estilos.
• Ejemplo: Ejes_multiples.xls• Se fija el estilo de gráfico de cada serie por separado.
Para ello se selecciona la serie con el botón derecho del ratón y se selecciona el tipo de gráfico adecuado.
Excel 116
Gráficos – Combinar tipos
Excel 117
Gráficos – Anotaciones
• Problema: Crear anotaciones y adornos en losgráficos para añadir información.
• Ejemplo: Ejes_multiples.xls• Se utiliza las herramientas de dibujo disponibles en
Ver→Barras de Herramientas → Dibujo colocandolos elementos gráficos sobre el gráfico y se les da el formato adecuado. También se puede usar sobre la hoja de cálculo.
Excel 118
Gráficos – Anotaciones
Excel 119
Minigráficos
• Un minigráfico es un pequeño gráfico en una celda de hoja de cálculo que proporciona una representación visual de los datos.
• Se usan para mostrar las tendencias de una serie de valores o para resaltar los valores máximos y mínimos. Es útil, pero los patrones pueden ser difíciles de encontrar un vistazo.
• Ejemplo: minigraficos.xlsx
Funciones matemáticas
Excel 120
Excel 121
Funciones de suma
• Problema: Se requiere realizar sumas de grandescantidades de datos usando para ello las funcionesque hacen esas sumas de forma fácil.
• Ejemplo: Funciones_matematicas.xlsxSUMA Suma sus argumentos.SUMAR.SI Suma las celdas especificadas que cumplen unos criterios determinados.SUMAR.SI.CONJUNTO Suma las celdas de un rango que cumplen varios criterios.SUMAPRODUCTO Devuelve la suma de los productos de los correspondientes componentes de matriz.SUMA.CUADRADOS Devuelve la suma de los cuadrados de los argumentos.
SUMAX2MENOSY2 Devuelve la suma de la diferencia de los cuadrados de los valores correspondientes de dos matrices.
SUMAX2MASY2 Devuelve la suma de la suma de los cuadrados de los valores correspondientes de dos matrices.
SUMAXMENOSY2 Devuelve la suma de los cuadrados de las diferencias de los valores correspondientes de dos matrices.
SUMA.SERIES Devuelve la suma de una serie de potencias en función de la fórmula.
Excel 122
Otras divisiones y multiplicaciones
• Problema: Se requiere realizar otros tipos de de operaciones relacionadas con la división y multiplicación.
• Ejemplo: Funciones_matematicas.xlsxRESIDUO Devuelve el resto de la división.COCIENTE Devuelve la parte entera de una división.M.C.D Devuelve el máximo común divisor.
PRODUCTO Multiplica sus argumentos.M.C.M Devuelve el mínimo común múltiplo.
SUMAPRODUCTO Devuelve la suma de los productos de los correspondientes componentes de matriz.
Excel 123
Otras divisiones y multiplicaciones
• Problema: Se requiere realizar otros tipos de de operaciones relacionadas con la división y multiplicación.
• Ejemplo: Funciones_matematicas.xlsxRESIDUO Devuelve el resto de la división.COCIENTE Devuelve la parte entera de una división.M.C.D Devuelve el máximo común divisor.
PRODUCTO Multiplica sus argumentos.M.C.M Devuelve el mínimo común múltiplo.
SUMAPRODUCTO Devuelve la suma de los productos de los correspondientes componentes de matriz.
Excel 124
Otras divisiones y multiplicaciones
• Problema: Se requiere realizar otros tipos de de operaciones relacionadas con la división y multiplicación.
• Ejemplo: Funciones_matematicas.xlsxRESIDUO Devuelve el resto de la división.COCIENTE Devuelve la parte entera de una división.M.C.D Devuelve el máximo común divisor.
PRODUCTO Multiplica sus argumentos.M.C.M Devuelve el mínimo común múltiplo.
SUMAPRODUCTO Devuelve la suma de los productos de los correspondientes componentes de matriz.
Excel 125
Funciones exponenciales y logaritmicas
• Problema: Se requiere realizar cálculos con logaritmos.
• Ejemplo: Funciones_matematicas.xlsxLN Devuelve el logaritmo natural (neperiano) de un número.LOG Devuelve el logaritmo de un número en una base especificada.LOG10 Devuelve el logaritmo en base 10 de un número.EXP Devuelve e elevado a la potencia de un número dado.POTENCIA Devuelve el resultado de elevar un número a una potencia.SINH Devuelve el seno hiperbólico de un número.COSH Devuelve el coseno hiperbólico de un número.TANH Devuelve la tangente hiperbólica de un número.ACOSH Devuelve el coseno hiperbólico inverso de un número.ACOTH Devuelve la cotangente hiperbólica inversa de un número.ASINH Devuelve el seno hiperbólico inverso de un número.ATANH Devuelve la tangente hiperbólica inversa de un número.
Excel 126
Funciones trigonométricas
• Problema: Se requiere realizar cálculos con funcionestrigonométricas en grados y radianes.
• Ejemplo: Funciones_matematicas.xlsxSENO Devuelve el seno de un ángulo determinado.COS Devuelve el coseno de un número.TAN Devuelve la tangente de un número.COT Devuelve la cotangente de un ángulo.CSC Devuelve la cosecante de un ángulo.SEC Devuelve la secante de un ángulo.ACOS Devuelve el arco coseno de un número.ACOT Devuelve la arco cotangente de un número.ASENO Devuelve el arcoseno de un número.ATAN Devuelve la arcotangente de un número.ATAN2 Devuelve la arcotangente de las coordenadas "x" e "y".
GRADOS Convierte radianes en grados.RADIANESConvierte grados en radianes.
Excel 127
Funciones de redondeo y truncamiento
• Problema: Se requiere redondear o truncar los cálculos.• Ejemplo: Funciones_matematicas.xlsx
MULTIPLO.SUPERIOR Redondea un número al entero más próximo o al múltiplo significativo más cercano.CEILING.MATH Redondea un número hacia arriba al entero más próximo o al múltiplo significativo más cercano.
MULTIPLO.SUPERIOR.EXACTO Redondea un número hacia el entero o el múltiplo significativo más próximo. El número se redondea hacia arriba, independientemente de su signo.
REDONDEA.PAR Redondea un número hasta el entero par más próximo.MULTIPLO.INFERIOR Redondea un número hacia abajo, en dirección hacia cero.MULTIPLO.INFERIOR.MAT Redondea un número hacia abajo al entero más próximo o al múltiplo significativo más cercano.
MULTIPLO.INFERIOR.EXACTO Redondea un número hacia abajo hasta el entero o el múltiplo significativo más cercano. El número se redondea hacia abajo, independientemente de su signo.
ENTERO. Redondea un número hacia abajo hasta el entero más próximo.
ISO.CEILING Devuelve un número que se redondea hacia arriba al número entero más próximo o al múltiplo significativo más cercano.
REDOND.MULT Devuelve un número redondeado al múltiplo deseado.REDONDEA.IMPAR Redondea un número hacia arriba hasta el entero impar más próximo.REDOND Redondea un número al número de dígitos especificado.REDONDEAR.MENOS Redondea un número hacia abajo, en dirección hacia cero.REDONDEAR.MAS Redondea un número hacia arriba, en dirección contraria a cero.TRUNCAR Trunca un número a un entero.
Excel 128
Funciones de conversión de sistemasnuméricos
• Problema: Se requiere convertir un número de una base a otra.
• Ejemplo: Funciones_matematicas.xlsx
DEC.A.BIN Convierte un número decimal en binario.DEC.A.HEX Convierte un número decimal en hexadecimal.DEC.A.OCT Convierte un número decimal en octal.HEX.A.BIN Convierte un número hexadecimal en binario.HEX.A.DEC Convierte un número hexadecimal en decimal.HEX.A.OCT Convierte un número hexadecimal en octal.
Excel 129
Funciones de números complejos
• Problema: Se requiere realizarcálculos con númeroscomplejos.
• Ejemplo: Funciones_matematicas.xlsx
COMPLEJO Convierte coeficientes reales e imaginarios en un número complejo.IM.ABS Devuelve el valor absoluto (módulo) de un número complejo.IMAGINARIO Devuelve el coeficiente imaginario de un número complejo.IM.ANGULO Devuelve el argumento theta, un ángulo expresado en radianes.IM.CONJUGADA Devuelve la conjugada compleja de un número complejo.IM.COS Devuelve el coseno de un número complejo.IM.COSH Devuelve el coseno hiperbólico de un número complejo.IMCOT Devuelve la cotangente de un número complejo.IM.CSC Devuelve la cosecante de un número complejo.IM.CSCH Devuelve la cosecante hiperbólica de un número complejo.IM.DIV Devuelve el cociente de dos números complejos.IM.EXP Devuelve el valor exponencial de un número complejo.IM.LN Devuelve el logaritmo natural (neperiano) de un número complejo.IM.LOG10 Devuelve el logaritmo en base 10 de un número complejo.IM.LOG2 Devuelve el logaritmo en base 2 de un número complejo.IM.POT Devuelve un número complejo elevado a una potencia entera.IM.PRODUCT Devuelve el producto de 2 a 255 números complejos.IM.REAL Devuelve el coeficiente real de un número complejo.IM.SEC Devuelve la secante de un número complejo.IM.SECH Devuelve la secante hiperbólica de un número complejo.IM.SENO Devuelve el seno de un número complejo.IM.SENOH Devuelve el seno hiperbólico de un número complejo.IM.RAIZ2 Devuelve la raíz cuadrada de un número complejo.IM.SUSTR Devuelve la diferencia entre dos números complejos.IM.SUM Devuelve la suma de números complejos.IM.TAN Devuelve la tangente de un número complejo.
Excel 130
Funciones para cálculos con matrices
• Problema: Se requiere realizar operaciones de tipomatricial.
• Ejemplo: Funciones_matematicas.xlsx
• Para introducir estas funciones es necesario teclearsimultáneamente las teclas Ctrl – Mayúsculas - Enter
MDETERM Devuelve el determinante matricial de una matriz.MINVERSA Devuelve la matriz inversa de una matriz.MMULT Devuelve el producto de matriz de dos matrices.
M.UNIDAD Devuelve la matriz de la unidad o la dimensión especificada.
TRANSPONER Devuelve la transposición de una matriz.
Análisis estadístico de datos
Excel 131
Excel 132
Análisis estadístico de datos
• Excel dispone de un amplio conjunto de funcionesestadísticas predeterminadas para ser usadas en las hojas de cálculo.
• El complemento Herramientas para Análisis tambiéncuenta con varias herramientas estadísticas más, que permiten visualizar los datos y hacer que Excel sea adecuado para determinados análisis.
• En la ayuda de Excel hay descripciones y sintaxis para todas las funciones estadísticas.
• Este apartado muestra el uso de Excel para realizarcálculos estadísticos estándar, sin entrar en detalle sobrela teoría del análisis.
Excel 133
Estadística descriptiva
• Problema: Calcular un resumen de estadísticas(medidas de tendencia general y dispersión) de unaserie de datos.
• Ejemplo: Analisis_estadistico_datos.xlsx• Una opción es usar las funciones estadísticas de
Excel, tales como: PROMEDIO, MEDIANA, MODA, MIN, MAX, VAR (Varianza), DESVEST (Desviaciónestándard)
• Otra opción es usar los complementos de Análisis de datos → Estadística descriptiva
Excel 134
Estadística descriptiva
• Ejemplo: Se tiene una serie de datos de muestra de un control de calidad, calcular la Mediana, Promedio, Moda, Mínimo, Máximo, Desviación Estándar y Varianza de la serie.
• Usar funciones estadísticas y la opción de Estadísticadescriptiva del Análisis de Datos.
Excel 135
Estadística descriptiva
Excel 136
Estadística descriptiva
Excel 137
Resumen de las funciones estadísticas de Estadística descriptiva
Estadístico Función ExcelMediaError típicoMedianaModaDesviación estándarVarianza de la muestraCurtosisCoeficiente de asimetríaRangoMínimoMáximoSumaCuentaMayor (1)Menor(1)Nivel de confianza(95.0%)
=PROMEDIO(Datos)=Desviación estándar/RAIZ(Cuenta)=MEDIANA(Datos)=MODA(Datos)=DESVEST(Data)=VAR(Datos)=CURTOSIS(Datos)=COEFICIENTE.ASIMETRIA(Datos)=Máximo - Mínimo=MIN(Datos)=MAX(Datos)=SUMA(Datos)=CONTAR(Datos)=K.ESIMO.MAYOR(Datos,1)=K.ESIMO.MENOR(Datos,1)=INTERVALO.CONFIANZA(0.05, Desv est.,100)
Excel 138
Distribuciones de frecuencia - Histograma
• Problema: Crear un histograma (gráfico de frecuencia) de un conjunto de datos.
• Ejemplo: Analisis_estadistico_datos.xlsx• Una opción es usar la función FRECUENCIA, para
calcular la frecuencia de incidencia de cada punto de referencia y después graficarla.
• Otra opción es usar los complementos de Análisis de datos →Histograma.
Excel 139
Histograma – Frecuencia
• Se debe establecer un rango de valores =(max - min)• Se debe establecer un número de clases (bins).
Criterios: cinco a quince clases o raíz cuadrada del número de datos.
• Para calcular las frecuencias de cada clase se selecciona el rango de salida y se aplica la funciónmatricial (pulsar Control-Mayús-Intro después de introducir la función) FRECUENCIA poniendo el rango de los datos y el rango de clases.
• Ejm: ={FRECUENCIA(DATA,RANGE)}
Excel 140
Histograma – Frecuencia
Excel 141
Histograma – Frecuencia
Excel 142
Análisis de datos – Histograma
• Otra opción para obtener el histograma de un conjunto de datos es utilizar Análisis de datos →Histograma
• En el rango de entrada se selecciona el rango de celdas que contienen el DataSet de entrada. En el campo Rango de Clases se introduce o selecciona el rango de celdas que contienen los valores de clases.
• En las opciones de salida, se selecciona la ubicaciónde salida de los resultados. Se puede seleccionar la opción de Porcentaje acumulado y Crear gráfico.
Excel 143
Análisis de datos – Histograma
Excel 144
Intervalos de confianza
• Problema: Calcular intervalos de confianza para ciertas estimaciones.
• Ejemplo: Analisis_estadistico_datos.xlsx• Excel dispone de las funciones
INTERVALO.CONFIANZA.NORM y INTERVALO.CONFIANZA.T que permiten calcular el intervalo de confianza para una media de poblacióncon distribución normal y t-student respectivamente.
Excel 145
Intervalos de confianza
• También se dispone de las funciones– INV.NORM.ESTAND - devuelve el inverso de la
distribución normal estándar acumulativa – INV.T.2C - devuelve el inverso de la distribución t de
Student de dos colas.• Ejemplo:
– para un intervalo de confianza de 95%, la probabilidad a usar es 1 – 0.05/2 = 0.975. Para calcular el intervalo de confianza de la media se usa
Error estándar de la media* INV.NORM.ESTAND(0.975)– Si se usa la distribución t-Student la fórmula a usar es:
Error estándar de la media* INV.T.2C (0.05,GdL)
Excel 146
Correlación de datos
• Problema: Calcular los coeficientes de correlaciónentre variables de un problema multivariable.
• Ejemplo: Analisis_estadistico_datos.xlsx• Excel dispone de las funciones
COEF.DE.CORREL y PEARSON que devuelven el coeficiente de correlación entre dos rangos de celdas definidos por los argumentos.También se tiene en Análisis de datos → Coeficientede Correlación
• Otros tipos de coeficientes de correlación
Excel 147
Correlación de datos
• Otros tipos de coeficientes de correlación, como Phi, rank biserial, point biserial, y Spearman rank hay que calcularlos.
• Por ejemplo para calcular la correlación de Spearmanse usa la fórmula
𝜌𝜌 = 1 −6∑𝑑𝑑2
𝑁𝑁(𝑁𝑁2 − 1)Donde d es la diferencia en ranking entre los valores x1 y x2 y N es el número de datos.
• Excel dispone de las funciones JERARQUIA y CONTAR para calcular la fórmula anterior
Excel 148
Jerarquía y percentiles
• Problema: Se requiere calcular ciertos percentiles de un conjunto de datos y la jerarquía de ciertos valoresen el conjunto de datos.
• Ejemplo: Analisis_estadistico_datos.xlsx• Excel dispone de las funciones PERCENTIL y
JERARQUIA para calcular tales estadísticos.• También se puede usar Análisis de datos →
Jerarquía y percentil
Excel 149
Pruebas estadísticas
• Problema: Se requiere realizar pruebas de hipótesissobre conjunto de datos.
• Ejemplo: Analisis_estadistico_datos.xlsx• Excel dispone de las funciones PRUEBA.Z.N,
PRUEBA.T.N, PRUEBA.F.N y PRUEBA.CHICUAD para realizar pruebas estándar.
• También se tiene en Análisis de datos varios tests
Excel 150
Analysis de Variance - ANOVA
• Problema: Realizar un análisis de varianza (ANOVA). • Ejemplo: Analisis_estadistico_datos.xlsx• En el complemento Análisis de datos se ofrecen tres
clases de ANOVA:
• Para el ejemplo, se realiza un ANOVA para dos o más grupos por lo que se usa ANOVA de un factor para probar la hipótesis de que no hay diferenciaentre las medias de esos grupos.
Excel 151
ANOVA
• Se selecciona Análisis de datos → Análisis de varianza de un factor
• En el rango de entrada se selecciona el rango de losdatos (dataset) que deben estar en columnascontiguas. Si se incluye los rótulos de la columna, marcar la opción Rótulos en la primera fila.
• Se deja el parámetro Alfa en 0.05, pero se puedemodificar.
• Se selecciona la opción de salida y Aceptar.• Para el ejemplo, como P < Alfa proporcionado y F > F
crítico implica que se debería rechazar la hipótesisnula de que no hay diferencias significativas entre las medias de los grupos.
Excel 152
ANOVA de un factor
Excel 153
ANOVA de un factor
< α = 0.05
>
Excel 154
Generación de números aleatorios
• Problema: Calcular números aleatorios entre límitessuperiores e inferiores específicos.
• Ejemplo: Analisis_estadistico_datos.xlsx• Usar la función ALEATORIO de Excel, que genera un
número aleatorio entre 0 y 1.• Se puede crear una serie de números aleatorios
seleccionando las celdas, poniendo la funciónALEATORIO y pulsando Ctrl-Mayús-Enter.
• Si se quiere un número aleatorio que no cambie cadavez que se calcula la hoja, pulsar F9 después de introducir la fórmula.
Excel 155
Serie de números aleatorios
• Para calcular un número (serie) aleatorio entre dos valores específicos utilizar la fórmula{=ALEATORIO()*(MaxVal-MinVal)+MinVal}
• Se puede redondear lo anterior con REDONDEAR.• Se puede usar también la fórmula
ALEATORIO.ENTRE• También se puede usar Análisis de datos →
Generación de números aleatorios
Excel 156
Serie de números aleatorios
Excel 157
Datos de muestra
• Problema: Se require extraer datos de muestra de una población finita de valores discretos.
• Ejemplo: Analisis_estadistico_datos.xlsx• Usar Análisis de datos → Muestra que permite
seleccionar el método de muestreo entre Periódico o Aleatorio.
Excel 158
Distribuciones de probabilidad
DISTR.BETA Devuelve la función de distribución beta acumulativa.
DISTR.BINOM.N Devuelve la probabilidad de una variable aleatoria discreta siguiendo una distribución binomial.
DISTR.BINOM.SERIE Devuelve la probabilidad de un resultado de prueba siguiendo una distribución binomial.
DISTR.CHICUAD Devuelve la función de densidad de probabilidad beta acumulativa.
DISTR.CHICUAD.CD Devuelve la probabilidad de una cola de distribución chi cuadrado.
DISTR.EXP.N Devuelve la distribución exponencial.
DISTR.F.RT Devuelve la distribución de probabilidad F.
DISTR.F.CD Devuelve la distribución de probabilidad F.
DISTR.GAMMA Devuelve la distribución gamma.
DISTR.HIPERGEOM.N Devuelve la distribución hipergeométrica.
DISTR.LOGNORM Devuelve la distribución logarítmico-normal acumulativa.
DISTR.NORM.N Devuelve la distribución normal acumulativa.
DISTR.NORM.ESTAND.N Devuelve la distribución normal estándar acumulativa.
POISSON.DIST Devuelve la distribución de Poisson.
DISTR.T.CD Devuelve la distribución de t de Student.
DISTR.WEIBULL Devuelve la distribución de Weibull.
Aproximación
Excel 159
Excel 160
Ajuste de ecuaciones a datos
• Es muy común en ingeniería intentar hallar la ecuación (curva) que mejor aproxime un conjunto de datos.
• Datos: pares de puntos P1=(x1,y1)… Pn=(xn,yn) o tuplas de variables independientes y dependientes.
• Se trata de pasar una curva a través del conjunto de datos. Cuando los resultados se usan para hacernuevas predicciones de variables dependientes, se conoce como regresión.
• Se usa el método de mínimos cuadrados: se fundamenta en la minimización del error ei = yi – f(xi) obtenido para cada punto.
• Ejemplos: Ajuste_curvas.xlsx
Excel 161
Ajuste lineal por MMC a datos1
• Si la función de ajuste es una línea recta y = mx + bentonces el MMC permite deducir los coeficientes a y b a partir de la resolución de las siguientesecuaciones:
• Bondad de ajuste (coef. Correlación):positiva 1 o negativa -1
∑∑==
=+n
ii
n
ii ybnxm
11∑∑∑
===
=+n
iii
n
ii
n
ii yxxbxm
111
2
SSTSSEr −=12
∑=
−=n
iii xfySSE
1
2)]([ ∑=
−=n
ii yySST
1
2][
Excel 162
Ajuste lineal por MMC a datos1
Ajuste mediante MMC de una serie
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
-3.0 -2.0 -1.0 0.0 1.0 2.0 3.0
Yestimado
Excel 163
Ajuste lineal por MMC a datos2
• Otro método rápido de obtener un ajuste lineal (y de otro tipo) a un conjunto tabulado en columnas de datos x (variable independiente) e y (variable dependiente) es:
• Graficar los datos como tipo de gráfico X-Y (dispersión) comopuntos.
• Pulsar en uno de los puntos dato para seleccionar comoobjeto activo el conjunto de datos y pulsar el botón derecho del ratón para obtener el menú Gráfico.
• Seleccionar Añadir Línea de Tendencia en el menú Gráfico. Especificar el tipo de curva (Lineal) y llenar las opcionescorrespondientes. Conviene seleccionar en OpcionesPresentar ecuación en el gráfico y el valor R (coeficiente de correlación). Es posible realizar extrapolación.
Excel 164
Ajuste lineal por MMC a datos2
Excel 165
Ajuste lineal por MMC a datos2
Fuerza ejercida por un resorte y = 0.5147x + 1.2794R2 = 0.9577
0
2
4
6
8
10
12
0 2 4 6 8 10 12 14 16 18
Desplazamiento desde la posición de equilibrio, cm
Fuer
za, N
Excel 166
Ajuste lineal por MMC a datos2
Par vs. Desviación (grados) y = 0.8087x + 0.0074R2 = 0.9985
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
-3.0 -2.0 -1.0 0.0 1.0 2.0 3.0
Desviación (grados)
Lineal (Desviación(grados))
Excel 167
Ajuste lineal de datos3
• Otro método rápido de obtener un ajuste lineal es utilizar la función ESTIMACION.LINEAL a un conjunto tabulado encolumnas de datos x (variable independiente) e y (variables dependientes).
• La sintaxis de la función corresponde a una fórmula matriz(hay que pulsar Ctrl-Mayus-Entrar) cuando se introduce la fórmula. Ejemplo:{=ESTIMACION.LINEAL(C5:C13, A5:A13, VERDADERO, VERDADERO)}
Y X Para que calcule la intersección y las
estadísticas ampliadas
Excel 168
Ajuste lineal de datos3
Excel 169
Ajuste multilineal de datos4
• Para hacer un ajuste lineal múltiple del tipoy = m1x1 + m2x2 + m3x3 + … mnxn + btambién se puede utilizar la función ESTIMACION.LINEAL a un conjunto tabulado en columnas de datos x (variables independientes) e y (variables dependientes).
• Es necesario seleccionar una cuadrícula de celdas de tamaño n+1 columnas, donde n es el número de variables independientes (x) y 5 filas.
• La sintaxis de la función es de tipo matriz (hay que pulsar Ctrl-Mayus-Entrar) cuando se introduce la fórmula. Ejemplo:{=ESTIMACION.LINEAL(B12:B27,C12:H27,VERDADERO,VERDADERO)}
Excel 170
Ajuste multilineal de datos4
54000
56000
58000
60000
62000
64000
66000
68000
70000
72000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
yy-est
Excel 171
Regresión
• Un método adicional para obtener un análisis completo (listade residuos) de regresión es usando la opción de Regresiónen Análisis de datos. Se procede de manera similar que para la obtención de histogramas.
• Ejemplo
Excel 172
Regresión
Excel 173
Otros tipos de ajuste
• Exponencial• Potencial• Polinómico: es necesario dar el orden del polinomio
– Ejemplos
Excel 174
Selección de la mejor curva de ajuste a un conjunto de datos
• Método de prueba y error. Primero se grafican los datos como unalínea recta.
• Si no se obtiene un buen ajuste, intentar diferentes tipos de curvas, usando evaluación visual ayudado por los resultados de la suma de cuadrados de los errores y el coeficiente de correlación(r2).
• Si no se obtienen resultados satisfactorios, intentar graficar losdatos de otra manera (y – 1/x, 1/y-x, etc.)
• En algunos casos se consiguen mejores ajustes escalando losdatos (datos de x e y del mismo orden de magnitud).
• Cambio de escala (se obtiene una recta) para el paso 2:– Exponencial y = a ebx log y vs. x (semi-log)– Logarítmico y = a ln x + b y vs. log x (semi-log)– Potencial y = a xb log y vs. log x (log – log)
Excel 175
Ajuste exponencial de datos
Tasa de descarga de un condensador y = 10e-0.5x
R2 = 1
0
2
4
6
8
10
12
0 2 4 6 8 10 12
Tiempo, segundos
Vol
tios
Tasa de descarga de un condensador y = 10e-0.5x
R2 = 1
0
0
1
10
0 2 4 6 8 10 12
Tiempo, segundos
Voltio
s
Excel 176
Ajuste logarítmico de datos
Temperatura vs. profundidad en un reactor
y = 2.9941Ln(x) + 28.036R2 = 1
20
25
30
35
40
45
50
55
0 500 1000 1500 2000 2500
Distancia cm.
Tem
pera
tura
ºC
Temperatura vs. profundidad en un reactor
y = 2.9941Ln(x) + 28.036R2 = 1
20
25
30
35
40
45
50
55
0.1 1 10 100 1000 10000
Distancia cm.Te
mpe
ratu
ra ºC
Excel 177
Ajuste potencial de datos
Tasa Reacción vs Concentración y = 0.0018x1.599
R2 = 1
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
0 20 40 60 80 100
C, moles/cu ft
TR, m
oles
/sec
Tasa Reacción vs Concentración y = 0.0018x1.599
R2 = 1
0.0
0.0
0.1
1.0
10.0
1 10 100
C, moles/cu ft
TR, m
oles
/sec
Excel 178
Ajuste polinomial de datos
Tiempo de aceleración vs Veloc.Max.y = 1E-08x5 - 5E-06x4 + 0.0008x3 - 0.0525x2 + 1.777x - 20.958
R2 = 0.9998
0
5
10
15
20
25
30
35
40
45
50
0 20 40 60 80 100 120 140 160
Velocidad máx. Km/h
Tiem
po, s
eg
Análisis de series de tiempo
Excel 179
Excel 180
Análisis de series de tiempo
• El análisis de series de tiempo es un campo de estudio amplio con aplicaciones en ingeniería, economía, ciencias sociales, etc.
• Excel dispone de funciones y herramientas para realizar tales análisis, así como facilidades de visualización de resultados y realizar predicciones.
• Ejemplos: Ajuste_curvas.xlsx
Excel 181
Análisis de series de tiempo -Visualización
• Problema: Graficar un grupo de datos de series de tiempo para análisis posteriores.
• Se utiliza el asistente para gráficos.
Excel 182
Análisis de series de tiempo -Visualización
Temperatura anual (Los Angeles)
64.0
64.5
65.0
65.5
66.0
66.5
67.0
67.5
68.0
68.5
69.0
1920 1930 1940 1950 1960 1970 1980 1990 2000 2010
Año
Tem
pera
tura
ºF
Excel 183
Análisis de series de tiempo - tendencia
• Problema: Agregar una línea de tendencia a unaserie de tiempo.
• Se puede utilizar la opción de Agregar línea de tendencia cuando se crea un gráfico.
Excel 184
Análisis de series de tiempo - tendencia
Temperatura anual (Los Angeles) y = -0.0105x + 87.231R2 = 0.0498
64.0
64.5
65.0
65.5
66.0
66.5
67.0
67.5
68.0
68.5
69.0
1920 1930 1940 1950 1960 1970 1980 1990 2000 2010
Año
Tem
pera
tura
ºF
Excel 185
Análisis de series de tiempo - tendencia
Temperatura anual (Los Angeles) y = 0.0011x2 - 4.2275x + 4231R2 = 0.219
64.0
64.5
65.0
65.5
66.0
66.5
67.0
67.5
68.0
68.5
69.0
1920 1930 1940 1950 1960 1970 1980 1990 2000 2010
Año
Tem
pera
tura
ºF
Excel 186
Análisis de series de tiempo –medias móviles
• Problema: Suavizar una serie de tiempo mediantemedias móviles.
• Se puede calcular medias móviles de varias formas:– usando la función de gráficos Media móvil de la
línea de tendencia– usando la función Media móvil de las
Datos→Análisis de datos.
Excel 187
Análisis de series de tiempo –medias móviles línea de tendencia
• Para la Línea de tendencia, se selecciona la serie de datos y haciendo clic con el botón derecho del ratónse selecciona Agregar línea de tendencia.
• Se selecciona Media móvil y el período deseado (3). En opciones se puede escribir un nombre para estanueva línea de tendencia.
• Es sencillo pero no genera datos numéricos.
Excel 188
Análisis de series de tiempo –medias móviles
Temperatura anual (Los Angeles)
64.064.565.065.566.066.5
67.067.568.068.569.0
1920 1930 1940 1950 1960 1970 1980 1990 2000 2010
Año
Tem
pera
tura
ºF
Temperatura anual media Media móvil de 3 años
Excel 189
Análisis de series de tiempo –medias móviles Análisis de datos
• En Herramientas→Análisis de datos hay una opciónque es Media móvil.
• La ventaja es que genera datos numéricos para la serie de media móvil.
• En la ventana de diálogo se selecciona el rango de las celdas que contiene la serie de datos.
• Se introduce el intervalo (3) sobre el que se deseacalcular las medias.
• Introducir la celda donde se desea colocar losresultados.
Excel 190
Análisis de series de tiempo –medias móviles Análisis de datos
Media móvil
62.063.064.065.066.067.068.069.070.0
1 6 11 16 21 26 31 36 41 46 51 56 61 66
Punto de datos
Valo
r RealPronóstico
Excel 191
Análisis de series de tiempo –índices estacionales
• Problema: calcular los índices estacionales de unaserie de tiempo que muestra variaciones estacionales.
• Hay varios métodos para calcular el índice estacionalde una serie. Aquí se muestra el método promedio-porcentaje.
• Primero se calcula el promedio de la variable cada año.• Despúes se calcula el porcentaje de cada mes
respecto al promedio anual.• Finalmente se calcula el promedio de los porcentajes
de cada mes para todos los años. Para comprobar el promedio de los índices debe ser 1.
Excel 192
Análisis de series de tiempo –índices estacionales
1996 1997 1998 1999Ene 49.1 49.2 53.5 54.0Feb 53.0 53.9 53.6 57.9Mar 54.7 63.8 58.1 58.6Abr 64.5 62.2 64.7 70.9May 76.7 72.4 77.0 73.7Jun 79.1 78.7 83.5 79.9Jul 82.2 83.1 85.5 82.2Ago 80.2 81.3 83.8 85.0Sep 75.8 78.4 80.5 75.8Oct 66.9 67.1 70.0 66.7Nov 58.9 55.1 61.5 59.7Dic 54.2 49.2 53.5 51.0Average: 66.3 66.2 68.8 68.0
Indice Estacional1996 1997 1998 1999 Indice
Ene 0.74 0.74 0.78 0.79 0.76Feb 0.80 0.81 0.78 0.85 0.81Mar 0.83 0.96 0.84 0.86 0.87Abr 0.97 0.94 0.94 1.04 0.97May 1.16 1.09 1.12 1.08 1.11Jun 1.19 1.19 1.21 1.18 1.19Jul 1.24 1.26 1.24 1.21 1.24Ago 1.21 1.23 1.22 1.25 1.23Sep 1.14 1.18 1.17 1.12 1.15Oct 1.01 1.01 1.02 0.98 1.01Nov 0.89 0.83 0.89 0.88 0.87Dic 0.82 0.74 0.78 0.75 0.77
Sum: 12.00Average: 1.00
Indices Estacionales
Excel 193
Análisis de series de tiempo –Transformada discreta de Fourier
• Problema: usar la transformada discreta de Fourier para analizar un conjunto de datos.
• En Herramientas→Análisis de datos hay una opción que es Análisis de Fourier que permite realizartransformaciones discretas de Fourier (DFT) y transformaciones inversas.
• El tamaño de la serie debe ser potencia de 2 con un tamaño máximo de 2^12 = 4096.
• Cálculo de la frecuencia en Hz donde i es el número de la muestra, n el número de muestras y s el intervalo de muestra.
)(nsifi =
Excel 194
Análisis de series de tiempo –Transformada discreta de Fourier
• Cálculo de la frecuencia en ciclos por muestradonde i es el número de la muestra, n el número de muestras y s el intervalo de muestra.
• La DFT se obtiene seleccionando el rango de las celdasque contienen la serie.
• Los resultados de la DFT son números complejos que se escriben como texto. Para manipularlos Excel dispone de funciones para ellos.
• Cálculo de la potencia en cada banda de frecuenciahasta la frecuencia de Nyquist (0.5 ciclos/muestra). IM.ABS(DFT)^2/n^2
nifi =
Excel 195
Análisis de series de tiempo –Transformada discreta de Fourier
• Se puede filtrar los datos en el campo de la frecuenciapara aislar un determinado componente.
• Se construye un filtro adecuado. EXP(-((ABS(frec cs) – fo)/sig)^2))
• Se aplica el filtro a la DFT multiplicándolo (usar funcionesde números complejos).
• Se calcula DFT inversa y se obtiene la serie numéricautilizando funciones de números complejos. IM.REAL(InversaDFT)
Excel 196
Análisis de series de tiempo –Transformada discreta de Fourier
-2
-1.5
-1
-0.5
0
0.5
1
1.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Y(t) Filtrada
Resolviendo ecuaciones
Excel 197
Excel 198
Resolviendo ecuaciones
• En ingeniería es frecuente la tarea de resolver ecuaciones algebraicas complicadas o sistemas de ecuaciones no lineales.
• Hay métodos manuales y computarizados para resolver tal problema, como son el método de Newton y la eliminación gaussiana.
• Excel dispone de funciones y herramientas para ayudar a cumplir esa tarea.
• Ejemplos: Resolviendo_ecuaciones.xls
Excel 199
Resolviendo ecuaciones
• La raíz de una ecuación algebraica es el valor de la variable independiente que satisface la ecuación.
• Las ecuaciones pueden ser lineales o no lineales.• Las ecuaciones no lineales se pueden resolver de forma gráfica o
numérica y pueden tener múltiples raíces reales o complejas. • Las ecuaciones polinómicas son un caso especial de ecuaciones
no lineales muy frecuentes en ingeniería con las siguientescaracterísticas:– Un polinomio de grado n no puede tener más de n raíces reales.– Si el grado de un polinomio es impar, siempre tendrá al menos una
raíz real.– Las raíces complejas siempre existen en pares de conjugadas
complejas.
Excel 200
Resolviendo ecuaciones –método gráfico
• El procedimiento es escribir la ecuación en la forma f(x) = 0 y graficas f(x) vs. x.
• El punto donde f(x) cruza el eje x (valor de x que causa que f(x) sea 0) son las raíces reales de la ecuación.
• La solución se puede leer directamente del gráfico o interpolar entre los valores tabulados para hallar el punto donde f(x) = 0.
Excel 201
Resolviendo ecuaciones –método gráfico
x f(x)0 -5.00
0.1 -5.030.2 -5.120.3 -5.270.4 -5.460.5 -5.690.6 -5.920.7 -6.130.8 -6.260.9 -6.25
1 -6.001.1 -5.411.2 -4.341.3 -2.641.4 -0.121.5 3.441.6 8.291.7 14.731.8 23.071.9 33.69
2 47.00
Raíz real de un polinomio
-8.00
-6.00
-4.00
-2.00
0.00
2.00
4.00
6.00
8.00
10.00
1.00 1.10 1.20 1.30 1.40 1.50 1.60
X
f(x)
Excel 202
Resolviendo ecuaciones –método gráfico
Raíces de un polinomio cúbico
-12
-10
-8
-6
-4
-2
0
2
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
X
Y
Excel 203
Resolviendo ecuaciones –usando Buscar objetivo
• Se puede obtener una solución rápida de ecuacionesalgebraicas simples usando la opción Buscar Objetivo enel menú Herramientas.
• Para ello se sigue:– Escribir un valor inicial de x en una celda.– Escribir la fórmula de la ecuación en la forma f(x)=0 en otra
celda. Escribir la variable x como referencia a la celda que contiene el valor inicial.
– Seleccionar Buscar Objetivo en el menú Herramientas.– En el diálogo escribir la dirección de la celda que contiene la
fórmula, el valor 0 en Valor y la dirección de la celda que contiene el valor inicial. Pulsar Aceptar.
Excel 204
Resolviendo ecuaciones –usando Buscar objetivo
• Ejemplo: f(x) = 2*x5 – 3* x2 – 5 = 0
x= 1.40408295
Excel 205
Resolviendo ecuaciones –usando Solver
• Solver se usa para resolver problemas de más complejidad y se puede configurar el método y visualización de solución.
• Instalar Solver desde Complementos en el menúHerramientas.
• Para ello se sigue:– Escribir un valor inicial de la variable x en una celda– Escribir la fórmula de la ecuación en la forma f(x)=0 en otra celda.
Escribir la variable x como referencia a la celda que contiene el valor inicial.
– Seleccionar Solver en el menú Herramientas.– En el diálogo escribir la dirección de la celda que contiene la fórmula,
el valor 0 en Valor y la dirección de la celda que contiene el valor inicial.
– Si se desea restringir el rango de x, pulsar en Agregar.– Pulsar Resolver. Se puede configurar con Opciones.
Excel 206
Resolviendo ecuaciones –usando Buscar objetivo
• Ejemplo: f(x) = 2*x5 – 3* x2 – 5 = 0
x= 1.40408619
Excel 207
Resolviendo sistemas de ecuaciones
• Las ecuaciones algebraicas simultáneas se presentan habitualmente en problemas de ingeniería.
• Los sistemas de ecuaciones pueden ser lineales o no lineales.
• Las técnicas para resolver sistemas de ecuacioneslineales son diferentes que las usadas para las no lineales.
• Para sistemas lineales se usa la notación matricial: [A][x] = [b] donde [A] es una matriz nxn y x y b son vectores de n elementos.
Excel 208
Operaciones matriciales en Excel
• En Excel las matrices se representan como arrays. Un array es un bloque de celdas que se referenciancolectivamente.
• Cualquier operación que se realiza sobre un array producirá lo mismo para todas las celdas dentro del array. Un array se puede especificar como un argumento simple de una función.
• Un array se especifica como un bloque de celdasencerradas entre llaves ({}). Las llaves son añadidasautomáticamente por Excel y NO deben escribirse.
Excel 209
Operaciones matriciales en Excel
• Para especificar una operación con array:– Seleccionar el bloque que forma el array. Mover el cursor
hasta la celda superior izquierda dentro del bloque.– Escribir una fórmula con el array. Se puede incluir rangos
de celdas dentro de la celda.– Pulsar Ctrl-Mayús-Enter para que la fórmula
aparezca entre llaves.• Operaciones habituales con matrices:
– Suma, Resta, Transpuesta (TRANSPONER)– Multiplicación matricial (MMULT) – Determinante, Inversa (MDETER, MINVERSA)
Excel 210
Operaciones matriciales en Excel
2 3 -4[A] = 3 -1 -2
4 -7 -6
Det[A] = 82
-0.09756098 0.56097561 -0.12195122Inverse [A] = 0.12195122 0.04878049 -0.09756098
-0.20731707 0.31707317 -0.13414634
2 3 4Transpose [A] = 3 -1 -7
-4 -2 -6
[M] = 1 4 35 2 6
7 12[N] = 11 8
9 10
[M][N] = 78 74111 136
1.90243902 3.56097561 -4.12195122A + Trans[A] = 3.12195122 -0.95121951 -2.09756098
3.79268293 -6.68292683 -6.13414634
0 0 -8A - Trans[A] = 0 0 5
8 -5 0
Excel 211
Operaciones matriciales en Excel
• Problema: calcular la inversa de una matriz compleja. • Sea una matriz compleja X + jY cuya inversa es
U + jV. Por definición de la inversa y el producto de una matriz y su inversa: XU − YV = I y YU + XV = 0 de donde se obtiene: V = (− Y-1 X− X-1 Y) -1 X-1
U = − Y-1 XV
Excel 212
Operaciones matriciales en Excel
Inversa de una Matriz ComplejaX Real Imgy Y
2 0.6 0.4 0.50.6 3 0.15 0.2
X INV Y INV YINV * X X INV * Y0.53191489 -0.10638298 40 -100 20 -276 0.19680851 0.24468085
-0.10638298 0.35460993 -30 80 -12 222 0.0106383 0.0177305
(Y INV * X + X INV * Y) (Y INV * X + X INV * Y) -1 V = -(Y INV * X + X INV * Y) -1 * X INV20.1968085 -275.755319 0.18848297 0.23410374 0.07535224 0.06296413
-11.9893617 222.01773 0.01017842 0.01714617 0.00358999 0.00499739U = - YINV * X * V-0.51620653 0.11999762 -0.07535224 -0.062964130.10724825 -0.35385149 -0.00358999 -0.00499739
Comprobación0.51620653 -0.11999762
-0.10724825 0.35385149 X * U Y * V X*U - Y*V-0.96806411 0.02768435 0.03193589 0.02768435 1 -3.6776E-160.01202084 -0.9895559 0.01202084 0.0104441 -5.2389E-16 1
Y * U X * V Y * U + X * V-0.15285849 -0.1289267 0.15285849 0.1289267 0 0-0.05598133 -0.05277066 0.05598133 0.05277066 0 0
Excel 213
Solución de sistemas de ecuacioneslineales mediante matrices
• Un método para resolver un sistema de ecuacioneslineales simultáneas [A][x] = [b] es mediante métodosmatriciales [x] = [A]-1 [ b]
• Para resolver en Excel:– Escribir los elementos de la matriz A.– Escribir los elementos del vector b.– Seleccionar las celdas para la inversa A-1. Escribir la fórmula
en la celda superior izquierda =MINVERSA() y seleccionarlas celdas de A. Pulsar Ctrl-Mayus-Enter simultáneamente.
– Seleccionar las celdas donde se desea aparezca el vector x. Escribir la fórmula en la celda superior =MMULT() y seleccionar las celdas de A-1 y B . Pulsar Ctrl-Mayus-Enter simultáneamente.
Excel 214
Solución de sistemas de ecuacioneslineales mediante matrices
Solución de Ecuaciones Simultáneas mediante inversión matricial[A][x] = [b]
9.375 3.042 -2.437[A] = 3.042 6.183 1.216
-2.437 1.216 8.443
9.233[b] = 8.205
3.934
0.148 -0.084 0.055Inv[A] = -0.084 0.214 -0.055
0.055 -0.055 0.142
0.896[x] = Inv[A] [b] = 0.765
0.614
Comprob. [A][x] = [b]9.23338.20493.9339
Excel 215
Solución de sistemas de ecuacionesusando Solver1
• Solver ofrece un enfoque diferente para resolver sistemas ecuaciones simultáneas lineales o no lineales.
• Suponiendo que se tiene un sistema de n ecuaciones y nincógnitas representados mediante las ecuaciones:
• Se desea hallar los valores de x1, x2 …, xn que produce que cada ecuación sea cero. Una forma para hacer estoes forzar a que la función (varianza residual):
y =f12 + f22 + …+ fn2 sea cero.
0),,,(
0),,,(0),,,(
21
212
211
=
==
nn
n
n
xxxf
xxxfxxxf
Excel 216
Solución de sistemas de ecuacionesusando Solver2
• Procedimiento:– Escribir un valor inicial para cada variable independiente x1, x2 …, xn
en celdas diferentes– Escribir las ecuaciones f1 , f2 , …, fn e y en celdas diferentes
expresadas como fórmulas dependientes de las celdas donde estánlas variables x1, x2 …, xn
– Seleccionar Solver de la Barra de herramientas. Dar la dirección de la celda que contiene la fórmula de y para Celda Objetivo. Seleccionar Valores de 0. En Cambiando las celdas dar el rango de las celdas que contienen los valores iniciales de las variables x1, x2…, xn.
– Se puede restringir opcionalmente el rango de los valores de las variables independientes pulsando Agregar.
– Se puede seleccionar la opción de generar Resultados en otra hoja.
Excel 217
Solución de sistemas de ecuacionesusando Solver3
• Ejemplo 1 (lineal):3 x1 + 2 x2 – 2 x3 = 42 x1 – x2 + x3 = 3
x1 + x2 – 2 x3 = – 3
f = 3 x1 + 2 x2 – 2 x3 – 4 = 0g = 2 x1 – x2 + x3 – 3 = 0h = x1 + x2 – 2 x3 + 3 = 0
y = f2 + g2 + h2
x1 = 1,428567883x2 = 4,142852593x3 = 4,28570703
f(x1,x2,x3) = -5,2244E-06g(x1,x2,x3) = -9,797E-06h(x1,x2,x3) = 6,41664E-06
y = 1,64449E-10
Excel 218
Solución de sistemas de ecuacionesusando Solver4
• Ejemplo 2 (no lineal):x1
2 + 2 x22 – 5 x1 + 7 x2 = 40
3 x12 – x2
2 + 4 x1 + 2 x2 = 28
f (x1, x2) = x12 + 2 x2
2 – 5 x1 + 7 x2 – 40 = 0g (x1, x2) = 3 x1
2 – x22 + 4 x1 + 2 x2 – 28 = 0
y (x1, x2) = f2 + g2Ecuaciones No Lineales Simultáneas
x1 = 2,696285x2 = 3,365504
f(x1, x2) = 0,000294f(x1, x2) = -0,00062
y = 4,66E-07
Excel 219
Solución de sistemas de ecuacionesusando Solver4
• Ejemplo 3 (no lineal):
1491
22 =+
−= −
xyey x
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
y=1-e^(-x)
9y^2+4x^2=1
x 0.30671241 x -0.25279654y 0.26329549 y -0.28767525
f(x) = 0 -0.00084231 f(x) = 0 -5.3977E-05g(x) = 0 0.00021064 g(x) = 0 0.00043784
7.5386E-07 1.9462E-07
Evaluación de Integrales
Excel 220
Excel 221
Evaluación de Integrales
• Muchos problemas de ingeniería requieren la evaluación de integrales. Para ello se usan métodos analíticos y numéricos.
• Suponiendo que se da una función continua y=f(x) definidaen el intervalo a ≤ x ≤ b, entonces la integral
se interpreta como el área bajo la curva.• La integración numérica trata de aproximar el resultado de
una integral aplicando las fórmulas de integración Newton-Cotes, cuadratura gaussiana o Monte Carlo.
• Ejemplo: Integrales1.xls
∫ ∫==b
a
b
a
dxydxxfI )(
Excel 222
Evaluación de Integrales –método trapezoidal
• Regla trapezoidal (datos espaciados uniformes):– Datos: n pares de puntos equiespaciados (x1,y1), (x2,y2),… (xn,yn)
donde x1 = a y x2 = b– Los puntos definen n-2 intervalos rectangulares con un ancho igual
a ∆x– La altura de cada intervalo se expresa como:– Por tanto la integral se aproxima como:
21++
= iii
yyy
∫ ∑ ∆
+
+==
−
=
b
a
n
ii
n xyyydxyI1
2
1
2)(
Excel 223
Evaluación de Integrales –método trapezoidal
• Ejemplo:– La presión media de una gas cuando la temperatura del gas varía
en el tiempo se calcula por:
Para hallar la integral, se obtiene 21 puntos igualmente espaciadosy se aplica la trapezoidal, de donde se obtiene que la presión es:
592.3)12300(10571.8100
0
4 −+= ∫− dttxP
547.73592.3)109)(10571.8( 44 =−= − xxP
Excel 224
Evaluación de Integrales –método trapezoidal
Integración numérica usando la regla trapezoidal con datos espaciados uniformemente
tiempo Temperatura0 3005 360 360
10 420 42015 480 48020 540 54025 600 60030 660 66035 720 72040 780 78045 840 84050 900 90055 960 96060 1020 102065 1080 108070 1140 114075 1200 120080 1260 126085 1320 132090 1380 138095 1440 1440
100 1500Suma = 17100 Integral = 90000 Presión = 73.547
Excel 225
Evaluación de Integrales –método trapezoidal
• Regla trapezoidal (datos espaciados no uniformes):– Datos: n pares de puntos (x1,y1), (x2,y2),… (xn,yn) donde x1 = a y x2
= b– Estos puntos definen n-1 intervalos rectangulares con un ancho
para el i-ésimo intervalo ∆xi = xi+1 – xi
– La altura de cada intervalo se expresa como:– Por tanto la integral se aproxima como:
21++
= iii
yyy
∫ ∑−
=++ −+==
b
a
n
iiiii xxyydxyI
1
111 ))((
21
Excel 226
Evaluación de Integrales –método trapezoidal
• Ejemplo:– La corriente por una inductancia se puede obtener con la fórmula
donde: i = corriente (amperios), L = inductancia (henrios), v = voltaje (voltios) y t=tiempo (seg).
Se induce una corriente de 2.15 amperios por un periodo de 500 milisegundos. La variación del voltaje con el tiempo en este periodo se muestra en la siguientetabla:
Hallar la inductancia evaluando la integral por medio de la regla trapezoidal
∫=t
dtvL
i0
1
t (msec) v (volts) t v t v t v 0 0 40 45 90 45 180 27 5 12 50 49 100 42 230 21
10 19 60 50 120 36 280 16 20 30 70 49 140 33 380 9 30 38 80 47 160 30 500 4
Excel 227
Evaluación de Integrales –método trapezoidal
Integración numérica usando la regla trapezoidal con datos espaciados no uniformes
t (mseg) v (volts) deltat (seg) vbar area0 0 0.005 6 0.035 12 0.005 15.5 0.0775
10 19 0.01 24.5 0.24520 30 0.01 34 0.3430 38 0.01 41.5 0.41540 45 0.01 47 0.4750 49 0.01 49.5 0.49560 50 0.01 49.5 0.49570 49 0.01 48 0.4880 47 0.01 46 0.4690 45 0.01 43.5 0.435
100 42 0.02 39 0.78120 36 0.02 34.5 0.69140 33 0.02 31.5 0.63160 30 0.02 28.5 0.57180 27 0.05 24 1.2230 21 0.05 18.5 0.925280 16 0.1 12.5 1.25380 9 0.12 6.5 0.78500 4
Total = 10.7675
0
10
20
30
40
50
60
0 100 200 300 400 500 600
Voltios
Tiempo, mseg
Voltaje vs. Tiempo
Excel 228
Evaluación de Integrales –método Simpson
• Regla de Simpson (número de datos impar – número de subintervalos par):– En lugar de considerar rectángulos entre los puntos, se pasa un
polinomio de segundo orden (parábola) a través de tres puntosadyacentes igualmente espaciados.
– Por tanto la integral se aproxima como:
• Ejemplo: Evaluar la integral
en el rango de 0 a 1 con un ∆=0.1 entre puntos.
∫ ∆++++++++== −−
b
annn xyyyyyyyydxyI )422424(
31
1254321
∫ −=1
0
2
dxeI x
Excel 229
Evaluación de Integrales –método Simpson
Integración numérica usando la regla de Simpson
x y0.0 1.0000 1.00000.1 0.9900 3.96020.2 0.9608 1.92160.3 0.9139 3.65570.4 0.8521 1.70430.5 0.7788 3.11520.6 0.6977 1.39540.7 0.6126 2.45050.8 0.5273 1.05460.9 0.4449 1.77941.0 0.3679 0.3679
SUMA = 22.4047
INTEGRAL = 0.7468
Funcion Exp(-x^2)
0.0000
0.2000
0.4000
0.6000
0.8000
1.0000
1.2000
0.0 0.2 0.4 0.6 0.8 1.0 1.2X
Y
∫ −=1
0
2
dxeI x
Excel 230
Cálculo de la superficie y centroidemediante Integrales
• Problema: calcular la superficie y centroide de una funcióndada como tabla.
• Se aplica una técnica de integración numérica para el cálculode la superficie y el primer momento para el centroide.
• El centroide se calcula tomando el primer momento del áreacalculado con:
• De donde se obtiene el centroide: ∫ ∫∫ ∫ ==== xydxxdAMyxdyydAM yx
AMy
AM
x xc
yc ==
Excel 231
Cálculo del segundo momentode una superficie
• Problema: calcular el segundo momento de una superficie(momento de inercia).
• Se usa la misma técnica que la sección anterior para el primer momento, pero usando x2 e y en lugar de x e y. Esdecir para el eje y:
• El momento de inercia para un eje que pasa por el centro de la superficie se calcula aplicando el teorema del eje paralelo,
donde Ina es el momento de inercia del área sobre el ejeparalelo a y que pasa por el centroide, A es el área y d es la distancia al eje y.
∫ ∫== ydxxdAxI y22
2AdII yna −=
Excel 232
Cálculo del centroide y segundomomento de una superficie
Cálculo del Centro y Momento de Inercia de un Area usando integración numérica
x y Coef.Simpson0.000 0.100 10.200 0.300 40.400 0.600 20.600 0.900 40.800 1.050 21.000 1.000 41.200 0.700 21.400 0.400 41.600 0.200 21.800 0.100 42.000 0.050 1
s = 0.2
Area = 1.070xc = 0.869yc = 0.382
Iy = 0.97013333Iyc = 0.16297404
0.000
0.200
0.400
0.600
0.800
1.000
1.200
0.000 0.500 1.000 1.500 2.000
Centro del Area
Excel 233
Cálculo de Integrales dobles
• Problema: se requiere integrar numéricamente unaintegral doble para calcular, por ejemplo, un volumenbajo una superficie.
• La técnica propuesta es dividir una integral múltipleen sucesivas integrales sencillas y aplicar las técnicas de integración numérica mostradas antes.
• Así para calcular el volumen bajo una superficie se calculan las áreas de las secciones transversales al eje y y después integrarlas para el eje x.
Excel 234
Cálculo del volumen bajo una superficie
0
0.4
0.8
00.
10.
20.
30.
40.
50.
60.
70.
8
0.9 1
0.000
0.100
0.200
0.300
0.400
0.500
0.600
0.700
0.800
0.900
1.000
z
x
y
0.900-1.0000.800-0.9000.700-0.8000.600-0.7000.500-0.6000.400-0.5000.300-0.4000.200-0.3000.100-0.2000.000-0.100
Curva de Areas
0.000
0.100
0.200
0.300
0.400
0.500
0.600
0.700
0.800
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Y
Are
a
Cálculo de Volumen mediante Integrales doblessx = 0.1sy = 0.1
Coeficientes x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.5 0 1.000 0.990 0.961 0.914 0.852 0.779 0.698 0.613 0.527 0.445 0.368
1 0.1 0.990 0.980 0.951 0.905 0.844 0.771 0.691 0.607 0.522 0.440 0.3641 0.2 0.961 0.951 0.923 0.878 0.819 0.748 0.670 0.589 0.507 0.427 0.3531 0.3 0.914 0.905 0.878 0.835 0.779 0.712 0.638 0.560 0.482 0.407 0.3361 0.4 0.852 0.844 0.819 0.779 0.726 0.664 0.595 0.522 0.449 0.379 0.3131 0.5 0.779 0.771 0.748 0.712 0.664 0.607 0.543 0.477 0.411 0.346 0.2871 0.6 0.698 0.691 0.670 0.638 0.595 0.543 0.487 0.427 0.368 0.310 0.2571 0.7 0.613 0.607 0.589 0.560 0.522 0.477 0.427 0.375 0.323 0.273 0.2251 0.8 0.527 0.522 0.507 0.482 0.449 0.411 0.368 0.323 0.278 0.235 0.1941 0.9 0.445 0.440 0.427 0.407 0.379 0.346 0.310 0.273 0.235 0.198 0.164
0.5 1 0.368 0.364 0.353 0.336 0.313 0.287 0.257 0.225 0.194 0.164 0.135Areas: 0.746 0.739 0.717 0.682 0.636 0.581 0.521 0.457 0.393 0.332 0.275
Coeficientes: 0.5 1 1 1 1 1 1 1 1 1 0.5
Volumen = 0.55683
y
Optimización
Excel 235
Excel 236
Optimización
• Los problemas de ingeniería se modelan mediantesistemas de ecuaciones para su análisis.
• Muchos problemas de ingeniería requieren la optimización de un criterio, como el costo, ganancia, peso, etc, al que se llama función objetivo.
• Adicionalmente hay una serie de condiciones, tales como leyes de conservación, restricciones de capacidad u otra restricción técnica, que deben sersatisfechas. Estas condiciones se llamanrestricciones.
Excel 237
Optimización
• El objetivo de una solución óptima es determinar unasolución que produce que la función objetivo sea maximizada o minimizada cumpliendo todas las restricciones.
• Los problemas de este tipo se conocen comoproblemas de optimización.
Excel 238
Optimización - Formalización
• Un problema de optimización se puede escribir como: Determinar los valores de la variables x1, x2, …. , xn que maximice o minimice la función objetivo:
Sujeto a las siguientes restricciones j = 1, 2, …, m:
oo
además, es común restringir i = 1, 2, …, n• Ejemplos: Optimización 1.xlsx
),,,( 21 nxxxfy =
0),,,( 21 =nj xxxg
0),,,( 21 ≤nj xxxg
0),,,( 21 ≥nj xxxg
0≥ix
Excel 239
Optimización usando Solver
• Procedimiento:– Escribir un valor inicial para cada variable independiente
x1, x2 …, xn en celdas diferentes.– Escribir la función objetivo como fórmula Excel en una celda.– Escribir las ecuaciones de cada restricción como fórmulas Excel.– Seleccionar Herramientas→Solver. Dar la dirección de la celda que
contiene la función objetivo para Celda objetivo. Seleccionar Máximo o Mínimo en Valor de la celda objetivo. Dar el rango de las celdas que contienen los valores iniciales de las variables x1, x2 …, xn en Cambiando las celdas.
– Escribir las celdas que contienen cada restricción, el tipo de restriccióny el valor del lado derecho usando Agregar.
– Si la función objetivo y las restricciones son lineales, pulsar en el botónOpciones y seleccionar Adoptar Modelo Lineal.
– Pulsar Aceptar y después Resolver. Se puede seleccionar la opción de generar Resultados en otra hoja.
Excel 240
Optimización - Programación lineal clásica
• Maximizar f(x1, x2) = 29 x1 + 45 x2Sujeto a las restricciones:
2x1 + 8x2 ≤ 604x1 + 4x2 ≤ 50x1, x2 ≥ 0
Excel 241
Optimización - Programación lineal clásica
0
2
4
6
8
10
12
14
0 2 4 6 8 10 12 14 16 18 20
x1
x2
Restricción 1 Restricción 2 Recta FObj
Región de soluciones factibles
Recta de la Función Objetivo para 455.833
R2
R1
Excel 242
Optimización - Programación lineal clásica
Solución (Solver) de problema de programación lineal clá
x1 = 6.6667x2 = 5.8333f(x1, x2) = 455.8333 ? Función Objectivo
Valor LímiteRestricción 1 60 60Restricción 2 50 50
Excel 243
Optimización - Programación lineal clásica
• Problema de optimización de producción:Maximizar y = 60 x1 + 44 x2
Sujeto a las restricciones:x1 + x2 ≥ 1000
5x1 +3 x2 ≤ 8000x1, x2 ≥ 0
Excel 244
Optimización - Programación lineal clásica
Excel 245
Optimización - no lineal
• Minimizar y = 10 + (x1 – 0.5)2 + (x2 – 0.5)2 (problemano lineal)
Sujeto a las restricciones:π (x1
2 + x22 ) ≥ 10
x1 ≤ 1.25 x2
x1, x2 ≥ 0
Nota: Excel No indica si la solución es una solución local o global.
Excel 246
Optimización - no lineal
Excel 247
Optimización - no lineal
• La solución de problemas de optimización no linealespueden depender de los valores iniciales supuestos, con lo que se pueden obtener soluciones óptimaslocales y no hallar la solución óptima global.
• Una opción es graficar la función objetivo para ver sucomportamiento en problemas sencillos, sino se puede usar técnicas de Monte Carlo (aleatorio).
• Ej: Minimizar-3 ≤ x1, x2 ≤ 3 25.1
)5.0()cos(1 22
22
⋅
+++
−=yx
yxz
Excel 248
Optimización - no lineal-3
-2.2
5
-1.5
-0.7
5 0
0.75 1.5
2.25 3
-3
-1
13
-1.5
-1
-0.5
0
0.5
1
1.5
2Gráfica de la función para x=0
-1.5
-1
-0.5
0
0.5
1
1.5
2
-3 -2 -1 0 1 2 3
Evaluación económica
Excel 249
Excel 250
Evaluación económica de alternativas
• Una parte importante en la evaluación de proyectos esla evaluación económica.
• Se basa en el valor del dinero en el tiempo. La terminología empleada es el principal para indicar la cantidad prestada y el interés que es el pago adicionalpor el uso del dinero.
• Los cálculos de interés se basan en la tasa de interés i.• Los cálculos económicos se basan en el uso del interés
compuesto. Así para n períodos de interés, la cantidadtotal de dinero acumulado al final del último período de interés es: F = Fn = P(1 + i)n
• Ejemplos: Comparacion_Economica1.xls
Excel 251
Cálculos financieros básicos
• Problema: Calcular el capital acumulado para un depósito a un interés y período dado.
Interés compuesto
P = 2000
i (anual) = 0.05
n = 20
Cantidad acumulada Final de año F Interés horario = 5436.55
0 2000.001 2100.002 2205.003 2315.254 2431.015 2552.566 2680.197 2814.208 2954.919 3102.66
10 3257.7911 3420.6812 3591.7113 3771.3014 3959.8615 4157.8616 4365.7517 4584.0418 4813.2419 5053.9020 5306.60
Acumulación del interés compuesto
0.00
1000.00
2000.00
3000.00
4000.00
5000.00
6000.00
0 2 4 6 8 10 12 14 16 18 20
Final de Año
Tota
l acu
mul
ado
Excel 252
Cálculos financieros básicos
• Problema: Calcular el capital acumulado para un depósito a un interés y período dado con capitalización menores al año. m = períodos de capitalizaciónn = número total de períodos de capitalizacion = mxnúmero de años
F = Fn = P(1 + i/m)n
Interés compuesto: Variación de la frecuencia del interés
Interés anual = 5306.60
Interés cuatrimetral = 5402.97
Interés mensual = 5425.28
Interés diario = 5436.19
Excel 253
Valor presente de un flujo de caja
• Una alternativa económica realista incluye normalmente un período de inversión inicial seguida de una serie de flujos de caja.
• Un flujo de caja típico para un préstamo consiste en unainversión inicial seguido de una serie de n pagos uniformes. En ese caso las cuotas se calculan como:
0 1 2 3 n-1 n
−+
+=
1)/1()/1()/(
n
n
mimimiPA
Excel 254
Pago uniforme
• Problema: Calcular el pago uniforme (amortización) para devolver una cantidad inicial P. Excel tiene unafunción Pago
Pago uniforme de una inversión
A = -140,000.00 €
i = 0.08
n = 12
P = 1055050.92
Excel 255
Valor presente
• Problema: Calcular el valor actual de un pagouniforme A. Excel tiene una función VA.
Valor presente de una inversión
A = 140000
i = 0.08
n = 12
P = -1,055,050.92 €
Excel 256
Valor futuro
• Problema: Calcular el valor futuro de un pagouniforme A. Excel tiene una función VF.
Valor futuro de un pago
A = 140000
i = 0.08
n = 12
F = 2,656,797.70 €
Excel 257
Flujos de caja no uniformes
• Problema: Calcular el valor presente neto de un flujode caja no uniforme en periodos uniformes. Excel tiene una función VNA.
Valor Presente de una inversión
i = 0.08
Final año Flujo de Caja0 -100000001 -80000002 03 10000004 20000005 30000006 40000007 50000008 60000009 5000000
10 400000011 300000012 200000013 1000000
VPN = 2,380,570.73
Fujo de Caja
-12000000-10000000-8000000-6000000-4000000-2000000
02000000400000060000008000000
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Final Año
Can
tidad
(€)
Excel 258
Comparación de AlternativasFlujos de caja no uniformes
• Problema: Comparar varias alternativas de flujos de caja. Se selecciona la de mayor Valor Presente Neto.
Comparación de dos oportunidades de inversión
i = 0.1
Flujo de Caja Flujo de CajaFinal año Alternativa A Alternativa B
0 -3500000 -35000001 1200000 6000002 1200000 9000003 1200000 11000004 1200000 13000005 1200000 15000006 1200000 1800000
VPN = 1,726,312.84 1,451,055.03
Excel 259
Comparación de AlternativasTasa interna de retorno (TIR)
• El método de la Tasa Interna de Retorno (TIR) es otro criteriomuy usado para comparar varias alternativas de inversión. A diferencia del método del Valor Presente no hay necesidadde especificar una tasa de interés.
• Si dibujamos el valor presente de un flujo de caja en funciónde la tasa de interés, la TIR es el punto de cruce, es decir, el valor de la tasa de interés al cual el valor presente neto se hace cero.
• Durante la comparación de alternativas mediante la TIR se escogerá aquella alternativa que tenga la mayor tasa internade retorno.
• Excel tiene la función TIR que calcula la tasa interna de retorno directamente.
Excel 260
VPN - TIR
Valor Presente en función de la Tasa de Interés
Final año Flujo Caja0 -1000001 150002 200003 250004 300005 350006 40000
i VPN0 65,000
0.03 46,6390.06 31,0570.09 17,7510.12 6,3220.15 -3,549 0.18 -12,119 0.21 -19,597
Valor Presente Neto vs Tasa de de Interés
-20,000 -10,000
010,00020,00030,00040,00050,00060,00070,000
0 0.05 0.1 0.15 0.2 0.25
Tasa de Interés
VPN
Excel 261
Comparación de AlternativasTasa interna de retorno (TIR)
Comparación de dos oportunidades de inversión
i = 0.1
Flujo de Caja Flujo de CajaFinal año Alternativa A Alternativa B
0 -3500000 -35000001 1200000 6000002 1200000 9000003 1200000 11000004 1200000 13000005 1200000 15000006 1200000 1800000
VPN = 1,726,312.84 1,451,055.03
TIR = 26% 21%
Conversión de Unidades
Excel 262
Excel 263
Conversión de Unidades
• En ingeniería es frecuente la necesidad de conversión de unidades entre diferentes sistemas de unidades.
• La forma usual de realizar esta tarea es medianteequivalencias de unidades que se obtienen a partir de factores de conversión tabulados.
• Las hojas de cálculo también se pueden usar con este propósito eliminando la necesidad de realizarcálculos manuales.
Excel 264
Conversión de Unidades
• Los sistemas de unidades más comunes son:– Sistema Internacional de Unidades– Sistema Anglosajón de Unidades– Sistema métrico decimal – Sistema Cegesimal de Unidades o cgs– Sistema Técnico de Unidades o mks
• Con Excel se pueden realizar conversiones simples y complejas de unidades.
Excel 265
Conversiones simples
• Una conversión simple incluye sólo unidades de la misma dimensión, p.e. pies a metros (longitud).
• Excel ofrece la función de Ingeniería CONVERTIR (instalar Herramientas→ Complementos→Herramientaspara análisis).
• En las conversiones simples se multiplica la cantidadoriginal por el factor de equivalencia unitarioapropiado.
Excel 266
Conversiones simples
• Ejemplo manual: Conversión simple de pies a metrosConvertir 2.5 pies a su número equivalente enmetros, usando el factor de conversión1 pie = 0.3048 m.La conversión es: m
ftmftL 762.0
13048.05.2 =×=
Excel 267
Conversiones simples en Excel
• En Excel se usa la función CONVERTIR. • Sintaxis:
CONVERTIR(número, de_unidad, a_unidad)número es el número a convertir.de_unidad abreviación de la unidad original.a_unidad abreviación de la unidad final.
• Ejemplo:=CONVERTIR(1.0, "lbm“, "kg") Convierte 1 libra masa a kilogramos (0,453592).
Excel 268
Abreviaciones de Unidades
• Las abreviaciones de unidad se escriben entre comillas dobles y se distinguen entre mayúsculas y minúsculas (Ver ayuda).
• Ejemplos:=CONVERTIR(68, "F“, "C") Convierte 68 grados Fahrenheit a Celsius (20).
=CONVERTIR(2,5, "ft“, "sec") Los tipos de datos no son iguales, por tanto se devuelve un error (#N/A).
Excel 269
Conversiones complejas
• Se refieren a conversiones donde intervienen varias unidades.
• Ejemplo: Convertir 6.3 lb/sq-inch (psi) a newtons /m2
(Pa) donde 1 lbf/in2 = 6894.8 N/m2.
22
22 /43437
)/(1)/(8.6894)/(3.6 mN
inlbmNinlbP
ff =×=
22
2 /43437137.39
144822.43.6
mNm
inlb
Nin
lbP
f
f =
××=
Excel 270
Ejemplo de Conversiones complejas
• =CONVERTIR(6.3,”lbf”,”N”)*CONVERTIR(1, “m",“in")^2 Convierte 6.3 libras a newtons y se multiplica por la conversión de metros a pulgadas.
Transferencia de datos
Excel 271
Excel 272
Transferencia de datos - Lectura
• Algunas aplicaciones requieren que sean leídos o importados ficheros diferentes de Excel.
• Para leer ficheros tipo texto se siguen los siguientes pasos:– Asegurarse que el fichero es un fichero texto (extensión
típica .txt, .csv, o .prn).– En Excel seleccionar Archivo→Abrir. Cuando aparece la
ventana de diálogo seleccionar Archivos de texto. Seleccionar el archivo.
– Aparece el Asistente. Es necesario seleccionar si el fichero tiene delimitadores entre campos o si son de ancho fijo.
– Si hay delimitadores, seleccionar el tipo de separador.– Finalmente se selecciona el formato.
Excel 273
Transferencia de datos - Lectura
Excel 274
Importación de datos desdepáginas Web
• Es posible importar datos desde una página Web.– La forma más fácil es utilizar Datos > Obtener
datos externos > Desde Web. Aparece un navegador donde se puede colocar la URL deseada. Ejemplo:
http://physics.nist.gov/cgi-bin/Compositions/stand_alone.pl?ele=&ascii=html&isotype=some
– Se seleccionan los datos y se da en el botón Importar.
Excel 275
Transferencia de datos - Lectura
Excel 276
Transferencia de datos - Escritura
• Para exportar datos a un fichero tipo texto.– En Excel seleccionar Archivo→Guardar como... – Si se desea que los datos de cada línea se separen por
tabuladores, seleccionar Texto (delimitado por tabulaciones). Se añade automáticamente el sufijo .txt al fichero.
– Si se desea que los datos de cada línea se separen por comas, seleccionar CSV (delimitado por comas). Se añade automáticamente el sufijo .csv al fichero.
Excel 277
Transferencia de datos - Escritura
Organización y Análisis de datos – Tablas dinámicas
Excel 278
Excel 279
Organización de datos - Listas
• Creación de listas en Excel.– Introducir los datos (pueden tener encabezado). – Para introducir un nuevo registro se puede usar un
formulario de datos. Para ello:• Hacer clic en una celda del rango o de la tabla donde desee
agregar el formulario.• Para agregar el botón Formulario Botón Control de formulario a
la Barra de herramientas de acceso rápido:– Hacer clic en la flecha de la Barra de herramientas de acceso rápido y
hacer clic en Más comandos. En el cuadro Comandos disponibles en, hacer clic en Todos los comandos y seleccionar el botón Formulario… de la lista. Hacer clic en Agregar y Aceptar. En la Barra de herramientas de acceso rápido, hacer clic en Formulario.
– Ejemplo: Provincias_España.xls.
Excel 280
Organización de datos - Listas
Excel 281
Organización de datos - Ordenación
• Ordenación de datos en Excel.– Una lista puede ser ordenada seleccionando el rango de
datos y pulsando sobre una de las opciones de ordenar de A a Z (ascendente) o Z a A (descente) en la cinta de opciones de las pestañas Inicio o Datos (ordenar y filtrar).
Excel 282
Organización de datos - Ordenación
Excel 283
Organización de datos - Filtrado
• Filtrado de datos en Excel.– Excel dispone de operaciones similares a las bases de
datos como es la recuperación de la información que satisface ciertas condiciones.
– El filtrado de listas permite seleccionar registros que satisfacen determinados criterios.
– Se usará la sub-opción Filtros de números de la opción Filtro en el menú Datos.
Excel 284
Organización de datos - Filtrado
• Ejercicios (Provincias_España.xls):– Las 10 provincias que tienen mayor densidad de
población. – Qué provincias tienen superficies que exceden 15,000
km2.– Qué provincias tienen poblaciones entre 500000 y 1 millón
de habitantes.
Excel 285
Organización de datos - Filtrado
• Las 10 provincias que tienen mayor densidad de población:– Seleccionar una celda arbitraria dentro de la lista. – Seleccionar Filtro en el menú Datos. – Aparecen flechas hacia abajo en el encabezado.– Pulsar sobre la flecha en el encabezado de densidad de
población seleccionar Filtros de número y se selecciona los Diez mejores. Aparecen una ventana de diálogo en la que se puede modificar la selección.
Excel 286
Organización de datos - Filtrado
• Qué provincias tienen areas que exceden 15,000 km2:– Se pulsa sobre la flecha en el encabezado Superficie →
Filtros de número. – En el cuadro de diálogo que aparece seleccionar Mayor
que y colocar 15000 en el siguiente campo. Pulsar el botón Aceptar.
– Aparecen los resultados en el mismo orden que los originales.
Excel 287
Organización de datos - Filtrado
• Qué provincias tienen poblaciones entre 500000 y 1 millón:– Se pulsa sobre la flecha en el encabezado Total → Filtros de
número. – En el cuadro de diálogo que aparece seleccionar Entre
rellenando los campos con los valores apropiados (mayor o igual que 500000, menor o igual que 1000000). Pulsar el botón Aceptar.
– Aparecen los resultados en el mismo orden que los originales.
Excel 288
Organización de datos - Filtrado
Excel 289
Búsqueda en tablas
• Problema: Realizar búsquedas de valores en una tabla de datos tabulares para utilizarlos en otros cálculos.
• Excel dispone de las funciones BUSCAR , BUSCARV, BUSCARH, COINCIDIR e INDICE para acceder a datos tabulares o tablas.
• Ejemplo: Busqueda_tablas.xls
Excel 290
Búsqueda en tablas - BUSCAR
• La función BUSCAR devuelve un valor procedente de un rango de una fila o columna o de una matriz.
• Tiene dos formas de sintaxis: vectorial y matricial. • La forma vectorial de BUSCAR busca en un rango de
una fila o de una columna un valor (vector) y devuelve un valor desde la misma posición en un segundo rango de una fila o de una columna.
• Sintaxis: BUSCAR(valor_buscado;vector_de_comparación;vector_resultado)
• El vector_de_comparación debe estar ordenado en orden ascendente.
Excel 291
Búsqueda en tablas - BUSCAR
Longitudft m Acero Aluminio
10 3.05 10 420 6.10 15 740 12.19 20 1080 24.38 30 15
160 48.77 35 17
Longitud dada = 20Unidades = ftMaterial = AceroFactor de diseño = 15
Factor de diseño
Excel 292
Búsqueda en tablas - BUSCARV
• La función BUSCARV busca un valor en la primera columna de un rango de celdas y devuelve el valor en la columna especificada. Opcionalmente se puede indicar el criterio de búsqueda.
• Sintaxis: BUSCARV(valor_buscado;matriz_buscaren;ind_columnas;ordenado)
Excel 293
Búsqueda en tablas - BUSCARV
1 2 3 4 5 6 7 8 9Temperatura (C) Densidad (kg/m3)Energía Interna (kJ/kg) Entalpía (kJ/kg) Entropía (J/g*K) Cv (J/g*K) Cp (J/g*K) Veloc.sonido (m/s) Viscosidad (Pa*s)
10 999.7 42.018 42.119 0.15108 4.1906 4.1952 1447.3 0.001305920 998.21 83.906 84.007 0.29646 4.1567 4.1841 1482.3 0.001001630 995.65 125.72 125.82 0.43673 4.1172 4.1798 1509.2 0.0007973540 992.22 167.51 167.62 0.57237 4.0734 4.1794 1528.9 0.0006529850 988.04 209.32 209.42 0.70377 4.0262 4.1813 1542.6 0.0005468560 983.2 251.15 251.25 0.83125 3.9765 4.185 1551 0.000466470 977.76 293.02 293.12 0.95509 3.9251 4.1901 1554.7 0.0004038980 971.79 334.95 335.06 1.0755 3.8728 4.1968 1554.4 0.0003543590 965.31 376.96 377.06 1.1928 3.8203 4.2052 1550.5 0.00031441
Temperatura (C) 40 <-- Introduce TemperaturaDensidad (kg/m3) 992.22Energía Interna (kJ/kg) 167.51Entalpía (kJ/kg) 167.62Entropía (J/g*K) 0.57237Cv (J/g*K) 4.0734Cp (J/g*K) 4.1794Veloc.sonido (m/s) 1528.9Viscosidad (Pa*s) 0.00065298
Excel 294
Búsqueda en tablas - BUSCARH
• La función BUSCARH busca un valor en la primera fila de un rango de celdas y devuelve el valor en la fila especificada. Opcionalmente se puede indicar el criterio de búsqueda.
• Sintaxis: BUSCARH(valor_buscado;matriz_buscaren;ind_filas;ordenado)
Excel 295
Búsqueda en tablas - BUSCARH
1 Temperatura (C) 10 20 30 40 50 60 70 80 902 Densidad (kg/m3) 999.7 998.21 995.65 992.22 988.04 983.2 977.76 971.79 965.313 Energía Interna (kJ/kg) 42.018 83.906 125.72 167.51 209.32 251.15 293.02 334.95 376.964 Entalpía (kJ/kg) 42.119 84.007 125.82 167.62 209.42 251.25 293.12 335.06 377.065 Entropía (J/g*K) 0.15108 0.29646 0.43673 0.57237 0.70377 0.83125 0.95509 1.0755 1.19286 Cv (J/g*K) 4.1906 4.1567 4.1172 4.0734 4.0262 3.9765 3.9251 3.8728 3.82037 Cp (J/g*K) 4.1952 4.1841 4.1798 4.1794 4.1813 4.185 4.1901 4.1968 4.20528 Veloc.sonido (m/s) 1447.3 1482.3 1509.2 1528.9 1542.6 1551 1554.7 1554.4 1550.59 Viscosidad (Pa*s) 0.001306 0.001002 0.000797 0.000653 0.000547 0.000466 0.000404 0.000354 0.000314
Temperatura (C) 30 <-- Introduce TemperaturaDensidad (kg/m3) 995.65Energía Interna (kJ/kg) 125.72Entalpía (kJ/kg) 125.82Entropía (J/g*K) 0.43673Cv (J/g*K) 4.1172Cp (J/g*K) 4.1798Veloc.sonido (m/s) 1509.2Viscosidad (Pa*s) 0.000797
Excel 296
Búsqueda en tablas - COINCIDIR
• La función COINCIDIR devuelve la posición de un elemento en una matriz.
• Sintaxis: COINCIDIR(valor_buscado;matriz_buscaren;tipo_coincidencia)
1 Temperatura (C) 10 20 30 40 50 60 70 80 902 Densidad (kg/m3) 999.7 998.21 995.65 992.22 988.04 983.2 977.76 971.79 965.313 Energía Interna (kJ/kg) 42.018 83.906 125.72 167.51 209.32 251.15 293.02 334.95 376.964 Entalpía (kJ/kg) 42.119 84.007 125.82 167.62 209.42 251.25 293.12 335.06 377.065 Entropía (J/g*K) 0.15108 0.29646 0.43673 0.57237 0.70377 0.83125 0.95509 1.0755 1.19286 Cv (J/g*K) 4.1906 4.1567 4.1172 4.0734 4.0262 3.9765 3.9251 3.8728 3.82037 Cp (J/g*K) 4.1952 4.1841 4.1798 4.1794 4.1813 4.185 4.1901 4.1968 4.20528 Veloc.sonido (m/s) 1447.3 1482.3 1509.2 1528.9 1542.6 1551 1554.7 1554.4 1550.59 Viscosidad (Pa*s) 0.001306 0.001002 0.000797 0.000653 0.000547 0.000466 0.000404 0.000354 0.000314
Temperatura (C) 10 <-- Introduce TemperaturaVeloc.sonido (m/s) 1447.3
Excel 297
Búsqueda en tablas - INDICE
• La función INDICE resulta útil para extraer un valor de una tabla dada la posición del valor en la tabla.
• Sintaxis: INDICE(matriz; num_fila; num_columna)
Datos:0.02451 0.93331 0.847560.08995 0.03905 0.326200.94215 0.49682 0.622900.67168 0.60431 0.84449
Elemento 2,2 = 0.0390457
Fila 1 = 0.0245112 0.9333076 0.847564
Columna 2 = 0.93330760.03904570.49681780.6043112
Excel 298
Tablas pivot o dinámicas
• Las listas normalmente se organizan de manera lineal, es decir, en columnas adyacentes.
• Algunas listas se pueden organizar de manera bidimensional para mostrar una mejor interrelación entre los datos.
• Las listas bidimensionales reestructuradas se conocen como tablas pivot o dinámicas.
Excel 299
Tablas pivot o dinámicas
• Ejemplo: (datos_pobl_usa.xls)– Primero asegurarse que la lista está formada por bloques de
celdas contiguas con un encabezado en cada columna. – Se selecciona cualquier celda dentro de la lista y seleccionar
en el menú Insertar – Tablas la opción Tabla dinámica. – Aparece el Asistente para crear tabla dinámica con el rango de
datos incluyendo los encabezados. Seleccionar Nueva hoja de cálculo. Pulsar el botón Aceptar.
– Aparece una hoja de trabajo que incluye una ventana de Campos de tabla dinámica.
– Seleccionar los campos según las filas y columnas que se requieran. También los campos que se quiere mostrar en valores y los filtros.
Excel 300
Tablas pivot o dinámicas
Excel 301
Tablas pivot o dinámicas
Excel 302
Tablas pivot o dinámicas
– Herramientas – Gráfico dinámico
Series
Excel 303
Excel 304
Series de números
• Las series de números son importantes en las matemáticas porque permiten, por ejemplo, la evaluación de funciones trascendentales, integrales o ecuaciones diferenciales.
• Habitualmente la suma de una serie de números se usa como una aproximación a una función que no se puede evaluar directamente.
• La aproximación es más precisa si se añaden mástérminos a la suma. Si la suma alcanza un valor finitola serie es convergente, caso contrario es divergente.
Excel 305
Series de números
• Series y métodos iterativos: cualquier serie ∑xn se puede convertir en un método iterativo considerandola secuencia de sumas parciales sn.
• Evaluación de funciones y expansión de Taylor:– Del Cálculo se sabe que cualquier función que tiene n+1
derivadas en un punto a tiene una expansion polinómicanth de Taylor Polynomial centrada en a y un error.
nnn
n
n
kkn
xss
xxxxxs
+=
++++==
−
=∑
1
2100
Excel 306
Series de números – Constantes Array
• Ejemplo: Series.xlsx• Se puede usar en Excel constantes Array para crear
fórmulas de series. – Una constante array es un array de valores separados por
comas y encerrados entre llaves, usado como argumentode una función. Ejemplo de array literal: {40,21,300,10}
– Se puede usar una constante array para hacer la evaluación de una fórmula de serie más compacta y precisa. Por ejemplo para evaluar:
= 1 +SUMA( 1 /FACT({1,2,3,4,5,6,7,8,9,10}))∑∞
=
+=1 !
11k k
e
Excel 307
Series de números – Función FILA
• Ejemplo: Series.xlsx• Se puede usar la función Excel FILA para generar
series de números. – Si se introduce en una celda =FILA(1:100), se selecciona
y se pulsa la tecla F9 se obtiene:={1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100}
– Usando este método se puede evaluar fórmulas de series. Por ejemplo para evaluar e se puede usar:
{=1+SUMA(1/FACT(FILA(1:100)))}
Excel 308
Series de números – Función INDIRECTO
• Ejemplo: Series.xlsx• Se puede usar la función Excel INDIRECTO para crar
una referencia especificada por una cadena de texto. – Si se introduce en una celda =INDIRECTO(“A1) crea una
referencia a la celda A1 y devuelve el valor contenida en esa celda.
– Se puede usar este método junto con FILA para evaluar fórmulas de series. Por ejemplo para calcular e:{=1+SUMA(1/FACT(FILA(INDIRECTO("1:20"))))} o{=1+SUMA(1/FACT(FILA(INDIRECTO("1:"&A1))))} donde el valoren A1 especifica el número de términos a evaluar.
Excel 309
Series de Taylor
• Las series de Taylor se usan para la evaluación de funciones por métodos numéricos:
– El valor f (k)(a) es la kth derivada evaluada en a. La funciónRn(x) representa el error donde c es un valor entre x y a.
( )( )( ) ( )
( ) ( ) ( ) ( ) ( ) ( )( )( ) ( ) ( )
( )( )( )
( ) ( ) 11
2'''
0
!1
!!2!1
!
++
=
−+
=
+−++−++−+=
+−= ∑
nn
n
nn
n
n
k
kk
axn
cfxR
xRaxn
afaxafaxafafxf
erroraxk
afxf
Excel 310
Series de Taylor
• Versión de los polinomios de Taylor apropiada para computación:– La serie de Taylor para evaluar una función f en el punto
x+h, dados el valor de la función y sus derivadas en el punto x es:
– Siendo las kth derivadas
• Ejemplo: Series.xlsx
( )( )( ) ( ) ( ) ( ) ( )( ) ( )( )
( )1
12
'''
0 !1!!2!1!+
+
= ++
+++++==+ ∑ kk
kkn
k
kk
hk
cxfhk
xfhxfhxfxfhk
xfhxf
( ) ( )( ) ( )( )xfhxfdh
hxfd k
h
k
hk
k
=+=+
==
00
Excel 311
Series de Taylor - Ejemplos
– Las derivadas de mayor orden de algunas funciones se repiten según un patrón.
( )
( )( )( ) ( ) ( )
( )( ) ( ) ( )
22242
0
2
221253
0
12
132
0
12
32
0
!12cos
!2!4!21
!21cos
!22sin
!12!5!3!121sin
!1!!3!2!11
!
111
11
+
=
++
=
+
+∞
=
++
=
+±
+±±+−=−
=
+±
++
±±+−=+
−=
+++++++==
−++++++==
−
∑
∑
∑
∑
nnn
k
kk
nnn
k
kk
ncn
k
kx
nn
nn
k
k
xn
cn
xxxk
xx
xn
cnxxxx
kxx
xn
enxxxx
kxe
xc
xxxxxx
Excel 312
Series de Taylor - Ejemplos
– Serie de Taylor para la función f(x) = arctan(x).
– Serie de Taylor para la función
( )
( )
( )
±−+−=+
−=
±−+−=−=+
±−+−=−=+
++++==−
∑
∑
∑
∑
∞
=
+
∞
=
∞
=
∞
=
753121arctan
111
1
11
1
11
1
753
0
12
642
0
22
32
0
32
0
xxxxk
xx
xxxxx
xxxxx
xxxxx
k
kkk
kk
k
k
k
k
( ) ( )xxxg cosh3=
( ) ( ) ( )
( ) ( )
++++==
++++==++++==
∑
∑∑∞
=
+
∞
=
∞
=
!6!4!2!2cosh
!6!4!21
!2cosh
!6!4!21
!2cosh
6543
0
33
32
0
642
0
2
xxxxk
xxx
xxxk
xxxxxk
xx
k
k
k
k
k
k
Excel 313
Series de Taylor - Observaciones
• Versión de la serie de Taylor para computación:– La serie de Taylor para evaluar una función f en el punto
x+h, dados el valor de la función y sus derivadas en el punto x es:
– Siendo las kth derivadas
– La precisión de la aproximación aumenta si: se incrementael número de términos y h se hace pequeño.
• Ejemplo: Series.xlsx
( )( )( ) ( ) ( ) ( ) ( )( ) ( )( )
( )1
12
'''
0 !1!!2!1!+
+
= ++
+++++==+ ∑ kk
kkn
k
kk
hk
cxfhk
xfhxfhxfxfhk
xfhxf
( ) ( )( ) ( )( )xfhxfdh
hxfd k
h
k
hk
k
=+=+
==
00
Interpolación
Excel 314
Excel 315
Interpolación
• Dada una tabla de puntos x, y es frecuentedeterminar el valor de y para una valor de x que se encuentra entre los valores tabulados.
• El proceso de interpolación involucra la determinación de una función matemática que pasa por los puntos dados.
• Existe gran cantidad de métodos para resolver la interpolación. Los métodos numéricos generalmentetratan de usar polinomios como función interpolante y resolver un número de ecuaciones y coeficientes igual al número de puntos datos.
• Ejemplos: Interpolacion.xlsx
Excel 316
Interpolación mediante búsqueda
• Excel dispone de las funciones: – BUSCARV para búsquedas verticales en una tabla– BUSCARH para búsquedas horizontales en una tabla– BUSCAR para búsquedas en general
• También se tiene la opción de construir una fórmula de búsqueda con las funciones básicas:– COINCIDIR para buscar un elemento especificado en un
intervalo de celdas y obtener la posición relativa de ese elemento en el rango
– INDICE que devuelve un valor o la referencia a un valor de una tabla o rango
• Se puede aplicar a tablas de dos variables
Excel 317
Interpolación lineal mediante búsqueda
• Se puede realizar una interpolación lineal sobre los resultados de una búsqueda con COINCIDIR e INDEX:
– Donde posicion =COINCIDIR(Valor buscado,rango x,1)x0 =INDICE(rango x,posicion)x1 =INDICE(rango x,posicion + 1)y0 =INDICE(rango y,posicion)y1 =INDICE(rango y,posicion + 1)
• Otra alternativa es usar la función TENDENCIA
)()()(
0101
00 yy
xxxxyyx −
−−
+=
Excel 318
Interpolación lineal mediante VBA
• También se puede programar una función propia para la interpolación lineal:
Function InterpolateL(lookup_value, known_x´s, known_y´s)Dim pointer As IntegerDim X0 As DoubleDim Y0 As DoubleDim X1 As DoubleDim Y1 As Double‘Para evitar extrapolacionIf lookup_value < Application.Min(known_x´s) Or lookup_value > Application.Max(known_x´s) Then
InterpolateL = CVErr(xlErrRef): Exit FunctionEnd Ifpointer = Application.Match(lookup_value, known_x´s, 1)X0 = known_x´s(pointer)Y0 = known_y´s(pointer)X1 = known_x´s(pointer + 1)Y1 = known_y´s(pointer + 1)InterpolateL = Y0 + (lookup_value - X0) * (Y1 - Y0) / (X1 - X0)
End Function
Excel 319
Interpolación cúbica
• Los valores de una tabla pueden ser tales que la interpolación cúbica es más adecuada que la lineal.
• La interpolación cúbica usa cuatro valores adyacentes de la tabla, x0 , x1 , x2 , x3 para obtener los coeficientes de la ecuación cúbica
para usarse como función interpolante entre x1 y x2.• Para realizar la interpolación se utiliza un polinomio
de Lagrange de orden 4 programado en VBA.
4342414
3213
432313
421
2423212
4311
413121
432
))()(())()((
))()(())()((
))()(())()((
))()(())()((
yxxxxxx
xxxxxxyxxxxxx
xxxxxx
yxxxxxx
xxxxxxyxxxxxx
xxxxxxyx
−−−−−−
+−−−
−−−+
−−−−−−
+−−−
−−−=
32 dxcxbxay +++=
Excel 320
Interpolación cúbica mediante VBA
• Requiere pasar los arrays de valores x (en orden ascendente) e y
Function InterpolateC(lookup_value, known_x´s, known_y´s)' Performs cubic interpolation, the known_x´s must be in ascending order.Dim row As IntegerDim i As Integer, j As IntegerDim Q As Double, Y As Doublerow = Application.Match(lookup_value, known_x´s, 1)
If row < 2 Then row = 2If row > known_x´s.Count - 2 Then row = known_x´s.Count - 2
For i = row - 1 To row + 2Q = 1
For j = row - 1 To row + 2If i <> j Then Q = Q * (lookup_value - known_x´s(j)) / (known_x´s(i) -
known_x´s(j))Next j
Y = Y + Q * known_y´s(i)Next iInterpolateC = YEnd Function
Excel 321
Interpolación cúbica sobre tablas de dos parámetros
• Se puede aplicar la interpolación cúbica a tablas de dos parámetros
• En ese caso hay que seleccionar la matriz de valores para realizar la interpolación.
• Ejemplos: Interpolacion2.xlsx
Excel 322
Interpolación numérica
• Existe varios métodos para realizar una interpolación mediante polinomios.
• Algunos de los métodos son:– Polinomios de diferencias divididas de Newton– Interpolación cuadrática– Polinomios de diferencias divididas de Newton de orden n– Interpolación de Lagrange
• Ejemplos: Interpolacionnum.xlsx
VBA (Visual Basic forApplications) en Excel
Programación en Excel
Excel 323
Excel 324
Introducción a VBA
• VBA es la versión de Microsoft Visual Basic para los productos Office.
• Permite automatizar tareas otorgándole un lenguaje orientado a objetos a los productos Office, así como la comunicación entre las distintas aplicaciones.
• Utiliza el Editor de VBA. • Cada objeto en VBA tiene propiedades y métodos.
Las propiedades se pueden cambiar en la ventana propiedades (F4).
Excel 325
El editor de Visual Basic
• Para activar el editor de VB se puede usar una de las siguientes opciones: • Presionar Alt + F11• Seleccionar Herramientas → Macro → Editor de Visual
Basic• Hace clic sobre el botón Editor de Visual Basic, situado en
la barra de herramientas de Visual Basic
Excel 326
Ventanas del editor de Visual Basic
Barra de MenúsBarra de Herramientas
Explorador de Proyectos: diagrama de árbol que contiene cada hoja de trabajo. Para abrir Control+R
Ventana código. Cada elemento de un proyecto tiene asociada una ventana de código.
Ventana de Propiedades Ventana inmediato. Es útil para ejecutar instrucciones de VBA directamente. Para abrirla Control+G.
Excel 327
Gestión de módulos en VBA
• En la ventana del Explorador de proyectos se gestionan los módulos.
• Los módulos pueden ser de cuatro tipos:• Procedimientos Sub. Conjuntos de instrucciones que ejecutan
alguna acción.• Procedimientos Function. Es un conjunto de instrucciones que
devuelven un solo valor.• Procedimientos Property. Son procedimientos especiales que se
usan en módulos de clase.• Declaraciones. Es información acerca de una variable que se le
proporciona a VBA.• Un solo módulo de VBA puede guardar cualquier cantidad de
procedimientos Sub, procedimientos Function y declaraciones.
Excel 328
Objetos
• Excel incluye cerca de 200 objetos, que representan rangos de celdas, gráficos, hojas de cálculo, libros y la propia aplicación de Excel.
• Cada objeto tiene propiedades (que permiten acceder y controlar sus atributos) y métodos (funcionalidades).
• El examinador de objetos es una herramienta que permite navegar por los objetos para explorar sus propiedades y métodos.
• Para abrir el examinador de objetos en VBA pulsar F2 o seleccionar: Ver → Examinador de Objetos
Excel 329
Objetos
• Por ejemplo, para referirse a la Hoja1 del Libro1 se usa Application.WorkBooks(“Libro1.xls”).WorkSheets(“Hoja1”)
• Para omitir una referencia específica a un objeto se usa los objetos activos. Si Libro1 es el libro de trabajo activo, la referencia anterior se puede simplificar a WorkSheets(“Hoja1”).Range(“A1”)
• Si se sabe que la Hoja1 es la hoja activa, se puede incluso simplificar másRange(“A1”)
Excel 330
Examinador de Objetos
Excel 331
Aplicación Excel
• Excel es una aplicación con un modelo de tres niveles:• El primer nivel es el de servicios de cliente, que es la interfaz que
permite a los usuarios manejar la aplicación.• El segundo nivel es el modelo de objetos de Excel, que es el que
se utiliza para realizar las operaciones en el libro de cálculo (Workbook) o en las hojas de cálculo (Worksheets). Cada comando de Excel se puede manejar mediante el modelo de objetos.
• El tercer nivel es el de servicios de datos, que es el que mantiene los datos en las hojas de cálculo que son modificados por los comandos del modelo de objetos de Excel.
Excel 332
Modelos de Objetos
• El modelo de objetos de Excel contiene una gran cantidad de elementos ordenados en forma jerárquica. Algunos son:• Application: Es el objeto que se encuentra en la base de la
jerarquía del modelo de objetos de Excel y representa a la aplicación en sí.
• Workbooks: Objetos que representan los libros de cálculo o archivos de Excel. Se encuentra debajo del objeto applicationen la jerarquía.
• Worksheets: Objetos que representan las hojas de cálculo de Excel. Este objeto pertenece al objeto workbook.
• Ranges: Objeto que representa un rango de celdas. Este objeto pertenece al objeto worksheet.
• Charts: Objetos que representan gráficos.• Pivot Tables: Objetos que representan tablas dinámicas.
Excel 333
Objeto Application
• El objeto Application representa el programa Excel. Entrega acceso a las opciones y otras funcionalidades de Excel.
• La propiedad ActiveSheet se refiere a la hoja de cálculo activa. Ejemplo:
Application.ActiveSheet.Cells(1, 2) = time• Le dice a Excel que coloque el valor de time en la celda que
está en la fila 1 y columna 2.• La propiedad ScreenUpdating le indica a Excel si debe
refrescar la pantalla cuando se ejecuta código.Application.ScreenUpdating = False
Excel 334
Objeto Workbook
• El objeto Workbook representa un archivo Excel.• El objeto ActiveWorkbook pertenece al objeto Application, y
entrega el objeto Workbook activo. Ejemplo:Application.ActiveWorkbook.Save
• El objeto ActiveSheet pertenece al objeto Workbook y se refiere a la hoja de cálculo activa.
Application.ActiveSheet.Delete• La propiedad Names entrega la lista de nombres que se han
definido en ese Workbook.• La propiedad Path se refiere al directorio donde se encuentra
el Workbook. Ejemplo:directorio = Application.ActiveWorkbook.path
Excel 335
Colección Workbook
• La colección Workbooks agrupa a todos los archivos de Excel que se encuentran abiertos.
• El método Open, Save y SaveAs le indican a Excel si debe abrir, guardar o guardar como el workbook correspondiente. Ejemplos:Application.Workbooks(“ClaseIndustrial”).SaveWorkbooks.Open(“C:\Archivo.xls”)Workbooks(“Libro1”).SaveAs(“Archivo.xls”,,”clavesecreta”)
• Se pueden entregar los parámetros por nombre a los métodos. Ejemplos:Workbooks.Open FileName :=“C:\Archivo.xls”, _
ReadOnly:=True, Password:=“clavesecreta”Application.Workbooks(“ClaseIndustrial”).Save
Excel 336
Objeto Worksheet
• El objeto Worksheet representa una hoja de cálculo Excel. El objeto ActiveSheet es un subobjeto del objeto Workbook que entrega el Worksheet activo.
• Se puede copiar, pegar, imprimir, guardar, activar y borrar la hoja de cálculo. Ejemplo:
With Application.Workbooks(“ClaseIndustrial”)ActiveSheet.CopyActiveSheet.PasteActiveSheet.PrintOutActiveSheet.SaveAsActiveSheet.ActivateActiveSheet.Delete
End With
Excel 337
Colección Worksheet
• La colección Worksheets contiene a todas las hojas de cálculo que pertenecen a algún workbook.
• Se le puede dar un nombre a un worksheet en particular para referirse a él. Ejemplo:
Dim w As Workbook, s As WorksheetSet w = Workbooks(“Libro1”)Set s = w.Worksheets(“Hoja1”)MsgBox s.Range(“a1”).Value
• Se pueden nombrar todas las hojas de un archivo usando el comando ForEach … Next Loop.
Sub MuestraNombres()Dim w As WorksheetFor Each w In Worksheets
MsgBox w.NameNextEnd Sub
Excel 338
Objeto WorksheetFunction
• El objeto WorksheetFunction permite usar las funciones de Excel desde VBA.
• Para ver las funciones que existen (todas en inglés) se puede ocupar el Explorador de Objetos.
• Ejemplo:area = WorksheetFunction.Pi * r ^ 2a = WorksheetFunction.Acos(b)Set TestRange = Worksheets(“Hoja1”).Range(“A1:A5”)TestSum = WorksheetFunction.Sum(TestRange)
Excel 339
Objeto Range
• El objeto Range representa rangos de celdas. También es posible acceder a las celdas usando la propiedad Cells de ActiveSheet.
• Ejemplos:Set notas = Worksheets(“Funciones”).Range(“F2:F13”)prom = WorksheetFunction.Average(notas)Worksheets(“Funciones”).Range(“F14”).Value = promWorksheets(“Funciones”).Range(“F15”).Formula = “=average(F2:F13)”Worksheets(“Funciones”).Cells(2, 1).SelectWorkbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A1).Value = 10Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2.A10”).Value = 5Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2:A10”).Value = 5Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2”, ”A10”).Value = 5
Excel 340
Objeto Range
• El objeto Range representa rangos de celdas. También es posible acceder a las celdas usando la propiedad Cells de ActiveSheet.
• Ejemplos:Set notas = Worksheets(“Funciones”).Range(“F2:F13”)prom = WorksheetFunction.Average(notas)Worksheets(“Funciones”).Range(“F14”).Value = promWorksheets(“Funciones”).Range(“F15”).Formula = “=average(F2:F13)”Worksheets(“Funciones”).Cells(2, 1).SelectWorkbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A1).Value = 10Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2.A10”).Value = 5Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2:A10”).Value = 5Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2”, ”A10”).Value = 5
Excel 341
Objeto Range
• El objeto Range representa rangos de celdas. También es posible acceder a las celdas usando la propiedad Cells de ActiveSheet.
• Ejemplos:Set notas = Worksheets(“Funciones”).Range(“F2:F13”)prom = WorksheetFunction.Average(notas)Worksheets(“Funciones”).Range(“F14”).Value = promWorksheets(“Funciones”).Range(“F15”).Formula = “=average(F2:F13)”Worksheets(“Funciones”).Cells(2, 1).SelectWorkbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A1).Value = 10Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2.A10”).Value = 5Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2:A10”).Value = 5Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A2”, ”A10”).Value = 5
Excel 342
Módulos VBA
• Un módulo VBA se compone de procedimientos que son códigos de ordenador que realizan alguna acción sobre los objetos o con ellos.
Sub Prueba()Sum= 1+1MSGBox “La respuesta es” & Sum
End Sub
Excel 343
Introducir código VBA
Sub Hola()Msg = “Su nombre es “ & Application.UserName & “?”Ans = MsgBox(Msg, vbYesNo)If Ans = VbNo Then
MsgBox “No se preocupe”Else
MsgBox “Debo ser adivino!”End If
End Sub
Excel 344
Ejecutar código VBA
• Para ejecutar el procedimiento Hola es necesario asegurarse que el cursor está situado en cualquier parte del texto introducido.
• Después se puede optar por uno de los siguientes métodos:• Presionar F5• Seleccionar Ejecutar, Ejecutar Sub/UserForm• Hacer clic sobre el botón Ejecutar, Ejecutar Sub/UserForm
Excel 345
Subrutinas
• Para escribir Subrutinas en VBA se debe crear un Módulo que las contenga (Insertar → Módulo)
• Ejemplo: Public Sub MiSub(A as Integer, B as Double)
‘Código de la subrutinaEnd Sub
• El alcance puede ser Public o Private que especifica si el procedimiento se puede llamar de cualquier parte o sólo desde ese módulo.
• La keyword Sub especifica una subrutina, que a diferencia de una función no devuelve un resultado.
Excel 346
Subrutinas
• Los parámetros se definen como:(ByValue) NombreParam as Tipo
donde Tipo puede ser un tipo de dato, por ejemplo:• Integer: un número entero • Double: un número real • Boolean: un número binario (V o F)• Byte: guarda un valor entre 0 y 255• String: Caracteres ASCII
• Para pasar sólo los valores usar ByValue
Excel 347
Subrutinas
• Las subrutinas se pueden llamar desde otras partes del código usando su nombre y agregando los parámetros que necesita.
• Para llamar a una subrutina llamada MiSub se puede usar:MiSub 4, 2.87Call MiSub(4, 2.87)
• También se puede agregar el nombre de la subrutina a botones u otros controles de VBA.
Excel 348
Funciones
• Las funciones son similares a las subrutinas con la diferencia que se usa Function en vez de Sub y que retornan un valor después de ejecutarse.Public Function Calc_q(y1 As Double, y3 As Double) As Double
Calc_q = 1 / ((Abs(y3 ‐ y1)) ^ 0.74)End Function
• Se pueden usar como cualquier función de Excel.Public Function MiFactorial(N As Integer) As Integer‘Funcion que calcula el factorial de un numero N
MiFactorial = 1For i% = 1 To N
MiFactorial = i * MiFactorialNext
End Function
Excel 349
Conceptos Básicos del Lenguaje
• Para comentar el código se usa ‘ o Rem‘Declaración de variablesDim y As DoubleDim x As DoubleRem Declaración de MatricesDim M(1 To 8, 1 To 8) As DoubleDim N(8, 8) As Double
• Para separar múltiples líneas se usa un guión bajo (_):K2(1) = dt * dy1dt(y(1) + k1(1) / 2#, y(2) + _k1(2) / 2#, y(3) + k1(3) / 2#, y(4) + _k1(4) /2#)Tiene que haber un espacio antes del underscore.
Excel 350
Variables y Tipos de Datos
• Los datos manipulados en VBA residen en objetos (p.e. rangos de hojas de cálculo) o en variables que se crean.
• Una variable es una localización de almacenamiento con nombre, dentro de la memoria del ordenador. Debe tener asociado un tipo de dato.
• Las reglas para nombrar las variables son:• Se pueden usar caracteres alfabéticos, números y algún carácter
de puntuación, pero el primero de los caracteres debe ser alfabético
• VBA no distingue entre mayúsculas y minúsculas• No se pueden usar espacios ni puntos• No se pueden incrustar en el nombre de una variable los
siguientes símbolos: #, $, %, !• La longitud del nombre puede tener hasta 254 caracteres
Excel 351
Tipos de Datos en VBA
Tipo de dato Bytes Rango de valores
Byte 1 0 a 255
Boolean 2 True o False
Integer 2 -32768 a 32767
Long 4 - 2147483648 y 2147483647
Currency 8 -922337203685477.5808 a 922337203685477.5807
Single 4 -3.402823E38 a 3.402823E38
Double 8 -1.79769313486231E308 a 1.79769313486232E308
Date 8 1-1-100 al 31-12-9999 y horarios de 0:00:00 a 23:59:59
String longitud variable (2^31 caracteres). longitud fija (2^16)
Object 4
Variant cualquier clase de datos excepto cadena de longitud fija
Excel 352
Definición de Variables
• Con Dim o Public se declaran las variables:Dim b As Double, a As DoubleDim n, m As IntegerDim InerestRate As SingleDim TodaysDate As DateDim UserName As String * 20Dim x As Integer, y As Integer, z As IntegerSi una variable no se declara se asume de tipo Variant (tipo genérico).
• En general debe ser:Dim NombreVariable As DataType
Excel 353
Ámbito de las variables
• El ámbito de una variable determina el módulo y el procedimiento en el que se puede usar una variable.
• Variables localesUna variable local es una variable declarada dentro de un procedimiento. Estas variables se pueden usar sólo en el procedimiento en que se declararon. Cuando el procedimiento finaliza, la variable deja de existir y Excel libera su memoria.
Ámbito Cómo se declara una variable en este ámbito
Un procedimiento Incluye instrucciones Dim, Static o Private dentro del procedimiento.
Al nivel de módulo Incluye una instrucción Dim antes del primer procedimiento de un módulo.
Todos los módulos Incluye una instrucción Public antes del primer procedimiento de un módulo.
Excel 354
Arrays
• Un array es un grupo de elementos del mismo tipo que tienen un nombre común; para referirse a un elemento específico de un array se usa el nombre de la array y un número de índice. Los arrays se definen similar a las variables, pero con el tamaño:
Arrays de una dimensiónDim y(1 To 4) As DoubleDim x(4) As DoubleDim MiArray(1 To 100) As IntegerDim MiArray (100)
Arrays multidimensionalesDim M(1 To 8, 1 To 8) As DoubleDim N(8, 8) As DoubleDim MiMatriz(1 To 100, 1 to 10) As Integer
Excel 355
Arrays
• Por defecto los subíndices de los arrays de VBA empiezan en 0. Si deseamos que comience en 1 en vez de en 0, incluiremos antes del primer array y antes del primer procedimiento la expresión:Option Base 1 o explícitamente el rango de elementos
• Para acceder a los elementos del array:y(3) = 2.983M(1, 2) = 4.321MiArray(1) = 20MiMatriz(1,2) = 20
• Si no se sabe el tamaño, se puede usar ReDim:Dim Matriz() As DoubleReDim Matriz(10)ReDim Preserve Matriz(12) ‘Mantiene lo que estaba
Excel 356
Definición de Constantes
• Con Const se declaran las constantes:Const MiConstante As Integer = 14Const MiConstante2 As Double = 1.025Const NumTrim As Integer = 4Const Interés = 0.05, Periodo = 12Const Nombre Mod as String = “Macros Presupuestos”Public Const NombreApp As String = “Aplicación Presupuestos”
• Las constantes también poseen un ámbito: – Si se declaran después de Sub o Function es local.– Si se declara al inicio de un módulo está disponible para
todo el módulo.– Si se declara con Public al inicio de un módulo está
disponible para todos los módulos de una hoja de trabajo.
Excel 357
Constantes y Cadenas
• Constantes predeterminadas, que se pueden usar sin necesidad de declararlas.Sub CalcManual()
Application.Calculation = xlManualEnd Sub
• Cadenas, hay dos tipos de cadenas en VBA:• De longitud fija, que se declaran con un número específico
de caracteres. La máxima longitud es de 65.536 caracteres.
• De longitud variable, que teóricamente pueden tener hasta 2.000 millones de caracteres.
Dim MiCadena As String * 50Dim SuCadena As String
Excel 358
Fechas y Expresiones
• Trabajar con FechasDim Hoy As DateDim HoraInicio As DateConst PrimerDía As Date = #1/1/2001#Const MedioDía As date = #12:00:00#
• Expresiones de asignación, expresión que realiza evaluaciones matemáticas y asigna el resultado a una variable o a un objeto. Se usa el signo igual “=“ como operador de asignación.
x = 1x = x + 1x = (y * 2) / (z * 2)FileOpen = trueRange(“Año”). Value = 1995
Excel 359
Operadores
• OPERADORES ARITMÉTICOS+ Suma, - Resta, * Multiplicación, / División, \ División entera, Mod Resto, ^ exponencial, & Concatenación
• OPERADORES COMPARATIVOS= Igual, < Menor, > Mayor, <= Menor o igual, >= Mayor o igual, <> Distinto
• OPERADORES LÓGICOSNot (negación lógica, And (conjunción lógica), Or (disyunción lógica), XoR (exclusión lógica), Eqv (equivalencia en dos expresiones), Imp (implicación lógica)
Excel 360
Estructuras WITH...END WITH
• VBA ofrece dos estructuras que simplifican el trabajo con objetos y colecciones.
• Con WITH...END WITH se permite realizar múltiples operaciones en un solo objeto.Sub CambiarFuente()
With Selection.Font.Name = “Times New Roman”.FontStyle = “Bold Italic”.Size = 12.Underline = xlSingle.ColorIndex = 5
End WithEnd Sub
Excel 361
Estructuras FOR EACH...NEXT
• Para una colección no es necesario saber la cantidad de elementos que existen en ella para usar la estructura For Each...Next.Sub ContarHojas()‘Muestra el nombres de las hojas del libro de trabajo activo
Dim Item As WorksheetFor Each Item In ActiveWorkbook.Sheets
MsgBox Item.NameNext Item
End SubSub VentanasAbiertas()‘Cuenta el número de ventanas abiertas
Suma = 0For Each Item In Windows
Suma = Suma + 1Next ItemMsgBox “Total de ventanas abiertas”, & Suma
End Sub
Excel 362
Condicionales
• Los tests lógicos en VBA tienen la siguiente sintaxis:If (time = 32000) Then
MsgBox “time vale 32000”End IfIf (MiCondicion = True) Then
MsgBox “Mi Condición es Verdad”Else
MsgBox “Mi Condición No es Verdad”End IfIf (contador < 10) Then
MsgBox “El Contador es menor a 10”ElseIf (contador < 20) Then
MsgBox “El Contador es mayor que 10 y menor que 20”ElseIf (contador < 30) Then
MsgBox “El Contador es mayor que 20 y menor que 30”End If
Excel 363
Estructuras Select Case
• La estructura Select Case es útil para elegir entre tres o más opcionesSub Positivos_Negativos_Cero()
a = InputBox("Ingrese un número")Select Case aCase Is > 0
Msg = "Número Positivo"Case Is < 0
Msg = "Número negativo"Case Else
Msg = "Cero"End SelectMsgBox Msg
End Sub
Excel 364
Bucles For…Next
• Esta sentencia de iteración se ejecuta un número determinado de veces. Su sintaxis es:For contador = empezar To finalizar [Step valorincremento]
[Instrucciones][Exit For][instrucciones]
Next [contador]______________________________________________________________________________
Sub SumaNúmerosSum = 0For Count = 0 To 10
Sum = Sum + CountNext CountMsgBox Sum
End Sub
Excel 365
Bucles For…Next
For i = 1 To n‘Código
Next i_________________________________For i = 1 To n Step 2‘Código
Next i_________________________________For i = 1 To n‘CódigoIf tiempo >10 Then
Exit ForEnd If‘Más Código
Next i
Excel 366
Bucles Do…While, Do…Until
• El bucle se ejecuta hasta que la condición llegue a ser verdadera. Do Until tiene la sintaxis.Do Until [condicion]
[instrucciones][Exit Do][instrucciones]
Loop_______________________________________________________________________________________________________
Sub DoUntilDemo()Do
ActiveCell.Value = 0ActiveCell.Offset(1, 0).Select
Loop Until Not IsEmpty(ActiveCell)End Sub
Excel 367
Bucles Do
Do While (tiempo < 10)‘Código
Loop______________________________________________________________________________________
Do‘Código
Loop While (tiempo < 10)_______________________________________________________________________
Do Until (tiempo > 10)‘CódigoLoop_______________________________________________________________________
Do‘Más CódigoLoop Until (tiempo > 10)
Excel 368
Funciones para cálculos con vectores
• Problema: Se requiere realizar operaciones con vectorescomo el producto vectorial o escalar.
• Ejemplo: Funciones_matematicas.xlsx• Excel no dispone de tales operaciones pero se pueden
definir usando VBA.• Ejemplo: para calcular la magnitud o módulo de un vector
3d se define una función v_Mag a la que se pasa comoparámetro el rango de las celdas, es decir su uso es:
=v_Mag(rango_celdas)donde rango_celdas consta de tres celdas (x, y, z)
Excel 369
Código para la función v_Mag
Public Function v_Mag(v As Range) As DoubleDim x As DoubleDim y As DoubleDim z As Double
x = v.Cells(1).Valuey = v.Cells(2).Valuez = v.Cells(3).Value
v_Mag = Sqr(x ^ 2 + y ^ 2 + z ^ 2)End Function
Excel 370
Funciones para cálculos con vectores
• Ejemplo: para calcular el producto vectorial de dos vectores 3d se define una función v_CrossProduct a la que se pasa como parámetros dos rangos de las celdas.
• Como el resultado de esta función es un array, esnecesario seleccionar el rango de celdas del resultado y teclear simultáneamente Ctrl – Mayúscula – Entrar. Esdecir su uso es:
{=v_CrossProduct(rango1,rango2)}u(x1,y1,z1)v(x2,y2,z2)
Excel 371
Código para la función v_CrossProductPublic Function v_CrossProduct(u As Range, v As Range)
' Declaracion de variables locales:Dim ux As DoubleDim uy As DoubleDim uz As DoubleDim vx As DoubleDim vy As DoubleDim vz As DoubleDim ReturnArray(3)Dim DoTranspose As Boolean ' Determina si el rango de resultado seleccionado es un array fila o columna:If Application.Caller.Rows.Count > 1 Then
DoTranspose = TrueElse
DoTranspose = FalseEnd If ' Obtiene los vectores componentes:ux = u.Cells(1).Valueuy = u.Cells(2).Valueuz = u.Cells(3).Value
Excel 372
Código para la función v_CrossProduct
vx = v.Cells(1).Valuevy = v.Cells(2).Valuevz = v.Cells(3).Value
' Calculo del producto vectorial:ReturnArray(0) = (uy * vz - uz * vy)ReturnArray(1) = (uz * vx - ux * vz)ReturnArray(2) = (ux * vy - uy * vx)
' Si el rango resultado seleccionado es una columna de celdas se transpone:If DoTranspose Then
v_CrossProduct = Application.WorksheetFunction.Transpose(ReturnArray)Else
v_CrossProduct = ReturnArrayEnd If
End Function
Uso de función Excel
Excel 373
Depuración
• Para desplegar menú de depuración:Ver → Barras de Herramientas → Depuración
• Para crear un breakpoint haga click en la zona que se encuentra al lado del código (donde está el punto rojo).
• Para poder ir paso a paso se puede usar F8 sobre un procedimiento.
• Se pueden ver las variables con las ventanas Locales, Inmediato e Inspección.
• Para imprimir en Inmediato: Debug.Print x
Excel 374
Depuración
Excel 375
Formularios
• Se puede agregar Formularios a las hojas de cálculo para realizar algunas tareas específicas y como GUI.
• Para insertar un formulario ir a Insertar → UserForm.• Se le pueden agregar controles a los formularios para
darles distintas funcionalidades.• Para mostrar un Formulario primero se diseña con un
nombre (p.e. UserForm1) y después se usa el método Show. Para esconderlo se usa el método Hide. Ejemplo:Sub MostrarForm()UserForm1.ShowEnd Sub
Excel 376
Formularios
Excel 377
Formularios
• Se le puede insertar código a cada uno de los objetos que componen el formulario.
• Presionando F7 se muestra el código detrás del formulario.
• En el ComboBox de la izquierda (el que dice CommandButton1) se muestran los objetos que componen el formulario.
• En el ComboBox de la derecha (el que dice Click) se muestran los eventos que pueden ocurrir para cada objeto donde se puede insertar código.
Excel 378
Formularios
Excel 379
Formularios MODIFICAR!!!
• Controles_VBA.xls, donde se muestran macros y controles.• Primos.xls, para calcular números primos y
descomposición en factores primos• Lissajous.xls, donde se genera curvas lissajous.• Proyectil.xls, que muestra una aplicación para el cálculo de
la trayectoria de un proyectil.• Formularios.xls, que muestra el uso de formularios desde
VBA.• Ecuaciones_VBA.xls, que muestra la invocación de
funciones Excel desde VBA.
Excel 380
Controles
• En cualquier programa MS Office se puede agregar controles que pueden interactuar con los datos y con otros controles.
• Se utiliza la barra de controles para insertarlos y manipularlos.
• Cada objeto tiene asociado una serie de propiedades que se pueden modificar y se les puede asociar una macro o programa VBA.
• Ejemplo: controles_VBA.xls
Excel 381
Controles - Diseño
Excel 382
Tipos de Controles
• Cuadro de Texto• Botón de Opción• Cuadro de Lista• Botón de Alternar• Etiqueta
• Casilla de Verificación• Botón de Comando• Cuadro Combinado• Botón o Control de Número• Slider • Etiqueta
Excel 383
Macros
• Las macros de Excel permite automatizar tareas repetitivas utilizando un grabador de macros.
• Mientras se graba la macro, todas las acciones que se realicen en Excel quedan guardadas en un módulo asociado al libro en lenguaje Visual Basic para Aplicaciones (VBA).
• Se puede crear la macro con referencia absoluta o referencia relativa.
• Las macros se pueden ejecutar directamente o con combinación de teclas. Para ver las macros pulsar Alt+ F8.
Excel 384
Macros
• Un modo de crear una macro es grabar la macro. – En el menú Herramientas→Macro →Grabar
nueva macro. • Una vez grabada la macro, se puede examinar el
código generado en el Editor de Visual Basic para ver cómo funciona el código. – En el menú Herramientas →Macro→Macros para
buscar la macro grabada. Seleccionarla y hacer clic en Editar para ver el código.
Excel 385
Macros - Diseño
Excel 386
Escribir Macros
• El Editor de Visual Basic es una herramienta para escribir y modificar código escrito en VBA
• Para abrir el Editor de Visual Basic: En el menú Herramientas → Macro → Editor de Visual Basic o Alt+F11.
• Las macros se almacenan en módulos de un libro de trabajo.
• Los módulos se agregan en el Editor de Visual Basic seleccionando Módulo en el menú Insertar del editor.
• Debe aparecer una ventana de módulo vacía dentro de la ventana principal del Editor de Visual Basic.
Excel 387
Macros - Editor VB
Excel 388
Asignar nombre a la Macro
• En la ventana del módulo se escribe la palabra Sub seguido del nombre de la macro.
• Por ejemplo, Sub MiMacro , crearía una nueva macro llamada MiMacro.
• El Editor de Visual Basic insertará automáticamente los paréntesis y End Sub.
Excel 389
Asignar código a la Macro
• Si se desea mostrar un mensaje simple escribir MsgBox “Mi primera macro”.
• MsgBox es la palabra que VBA utiliza para los cuadros de mensaje.
• Si se ejecuta la macro, Excel mostraría un mensaje con el texto Mi primera macro y un botón Aceptar para cerrar el mensaje.
Excel 390
Macros de Bucle
• Las macros de bucle funcionan recorriendo los datos de celdas para realizar acciones automáticamente de manera repetida.
• Hay varias instrucciones que permiten crear este tipo de macros: – For Each…Next– For ... Next – For ... Next Loop With Step – Do While ... Loop – Do Until ... Loop – Do ... Loop While – Do ... Loop Until
Excel 391
Macro de Bucle For Each…Next
• For Each…Next se usa para realizar una acción en cada celda de un grupo de datos.
• Ejemplo: Código para que la palabra "Aceptar" aparezca en negrita en cualquier lugar del grupo de datos seleccionado
Excel 392
Propiedad Cells y Range
• Hay dos métodos para llevar los datos de una celda a código VBA: propiedad Cells y Range.
• La propiedad Range identifica las filas y columnas mediante los números y las letras de la hoja de cálculo.
• La propiedad Cells utiliza números para las filas y las columnas (Herramientas → Opciones → General → "Estilo de referencia F1C1“)
Excel 393
Ejemplos de Macros
• Ejemplo1: Macro que usa Do While…Loop para combinar dos columnas en otra.
Pepelu Rodriguez Pepelu RodriguezIker Casillas Iker CasillasCristiano Ronaldo Cristiano RonaldoJaime Peñafiel Jaime PeñafielTeresa Berlanga Teresa BerlangaAinoha Arteta Ainoha ArtetaPedro Mamani Pedro Mamani
Excel 394
Ejemplos de Macros
• Ejemplo2: Bucle For Each…Next lee cada celda y le aplica color según el contenido.
LibroPeliculaRevistaLee LibroVer peliculaVinoTextoLibro texto
LibroPeliculaRevistaLee LibroVer peliculaVinoTextoLibro texto
Excel 395
Ejemplos de Macros
• Ejemplo3: Elimina filas que contienen duplicados en las columnas D y F.
Elemento 1 Azul En existenciaElemento 2 Verde Sin existenciasElemento 1 Rojo En existenciaElemento 2 Mediano Sin existencias
Evaluación de derivadas
Excel 396
• La definición matemática de la derivada empieza con una aproximación de la diferencia finita:
cuando ∆x tiende a cero, la diferencia se convierte en derivada:
Diferenciación 397
Diferenciación de funciones continuas
∆y∆x
=f xi + ∆x( )− f xi( )
∆x
dydx
= lim∆x→0
f xi + ∆x( )− f xi( )∆x
• Cuando se tiene un conjunto de datos de la forma (xi, yi) se puede aproximar la derivada en un punto imediante varias diferencias:– Diferencia finita en adelanto (forward finite-difference)– Diferencia finita en atraso (backward finite-difference)– Diferencia finita centrada (centered finite-difference)
• La expansión de la serie de Taylor se puede usar para generar fórmulas de gran precisión para las derivadas aplicando algebra lineal para combinar la expansión alrededor de varios puntos.
Diferenciación 398
Derivadas a partir de datos
Para un finito
Diferenciación 399
Aproximación por diferencia en adelanto
( ) ( ) ( )x
xfxxfx
xfΔ
Δ0Δ
lim −+→
=′
( ) ( ) ( )x
xfxxfxf∆
−∆+≈′'Δ' x
x x+Δx
f(x)
Graphical Representation of forward difference approximation of first derivative.
• Sabemos que
• Para un finite ,
• Si se toma como número negativo,
Diferenciación 400
Aproximación por diferencia en atraso
( ) ( ) ( )x
xfxxfx
xfΔ
Δ0Δ
lim −+→
=′
'Δ' x ( ) ( ) ( )x
xfxxfxf∆
−∆+≈′
'Δ' x
( ) ( ) ( )x
xfxxfxf∆−
−∆−≈′ ( ) ( )
xxxfxf
ΔΔ−−
=
• This is a backward difference approximation as youare taking a point backward from x. To find the valueof at , we may choose another pointbehind as . This gives
where
Diferenciación 401
Aproximación por diferencia en atraso
Graphical Representation of backward difference approximation of first derivative.
xx-Δxx
f(x)
( )xf ′ ixx = 'Δ' x1−= ixx
( ) ( ) ( )x
xfxfxf iii ∆
−≈′ −1
( ) ( )1
1
−
−
−−
=ii
ii
xxxfxf
1Δ −−= ii xxx
• Taylor’s theorem says that if you know the value of a function at a point and all its derivatives at that point, provided the derivatives are continuous between and , then
Substituting for convenience
Diferenciación 402
Obtención de la adad a partir de las series de Taylor
f ix
ix 1+ix( ) ( ) ( )( ) ( ) ( ) +−
′′+−′+= +++
2111 !2 ii
iiiiii xxxfxxxfxfxf
ii xxx −= +1Δ( ) ( ) ( ) ( ) ( ) +
′′+′+=+
21 Δ
!2Δ xxfxxfxfxf i
iii
( ) ( ) ( ) ( ) ( ) +∆′′
−∆
−=′ + x
xfx
xfxfxf iii
i !21
( ) ( ) ( ) ( )xOx
xfxfxf iii ∆+
∆−
=′ +1
• The term shows that the error in the approxima-tion is of the order of . It is easy to derive from Taylor series the formula for backward divided difference approximation of the first derivative.
• As shown above, both forward and backward divided difference approximation of the first derivative are accurate on the order of .
• Can we get better approximations? Yes, another method is called the Central difference approxima-tion of the first derivative.
Diferenciación 403
Obtención de la adad a partir de las series de Taylor
x∆( )xO ∆
( )xO ∆
• From Taylor series(1)
(2)
Subtracting equation (2) from equation (1)
Diferenciación 404
Obtención de la adc a partir de las series de Taylor
( ) ( ) ( ) ( ) ( ) ( ) ( ) +′′′
+′′
+′+=+32
1 Δ!3
Δ!2
Δ xxf
xxf
xxfxfxf iiiii
( ) ( ) ( ) ( ) ( ) ( ) ( ) +′′′
−′′
+′−=−32
1 Δ!3
Δ!2
Δ xxf
xxf
xxfxfxf iiiii
( ) ( ) ( )( ) ( ) ( ) +∆′′′
+∆′=− −+3
11 !322 xxfxxfxfxf i
iii
( ) ( ) ( ) ( ) ( ) +∆′′′
−∆−
=′ −+ 211
!32x
xfx
xfxfxf iii
i
( ) ( ) ( ) ( )211
2xO
xxfxfxf ii
i ∆+∆−
=′ −+
• Hence showing that we have obtained a more accurate formula as the error is of the order of
Diferenciación 405
Obtención de la adc a partir de las series de Taylor
( )2xO ∆
x
f(x)
x-Δx x x+Δx
Graphical Representation of central difference approximation of first derivative
• La fórmula de 5 puntos corresponde a la diferencia finita centrada con error de orden cuartico
• Ejemplo: derivadas.xlsx
Diferenciación 406
Fórmula de 5 puntos
( ) ( ) ( ) ( ) ( )( )2112 8812
1++−− −+−
∆= iiiii xfxfxfxf
xxf
Diferenciación 407
Fórmulas de diferencia finita en adelanto
Diferenciación 408
Fórmulas de diferencia finita en atraso
Diferenciación 409
Fórmulas de diferencia finita centrada
Ecuaciones diferenciales ordinarias
Excel 410
Excel 411
Ecuaciones diferenciales de primer orden
• Hay varios métodos disponibles para resolver numéricamente ecuaciones diferenciales.
• Los métodos de solución más utilizados para– Problemas de valor inicial son: Euler, Euler mejorado,
Runge Kutta.– Problemas de contorno: método de disparo, método de
diferencias finitas, extrapolación Richardson• Ejemplo: ec_diferenciales.xlsx
Excel 412
Ecuaciones diferenciales de primer orden y valor inicial
• Problema: se requiere hallar la solución de una ecuación diferencial de primer orden de la forma:
• Ejemplo:
• Usaremos esta ecuación para comparar
𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
= 𝑓𝑓 𝑑𝑑,𝑑𝑑
𝑑𝑑(0) = 𝑎𝑎𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
= 𝑑𝑑 + 𝑑𝑑
𝑑𝑑 0 = 0Solución: 𝑑𝑑 = 𝑒𝑒𝑥𝑥 − 𝑑𝑑 − 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0 0.2 0.4 0.6 0.8 1
y = e^x - x - 1
Excel 413
Método de Euler
• No es el mejor método (requiere un tamaño de paso pequeño para mejorar la precisión), pero es simple para mostrar la mecánica de su implementación en Excel y VBA.
• El método de Euler se basa en considerar los dos primeros términos de la expansión en Serie de Taylor de una función para predecir el valor de la función en algún punto, conociendo el valor de la función en otro punto y la derivada de esa función.
Excel 414
Método de Euler
• La expansión en series de Taylor de y es:
• El método de Euler considera los dos primeros términos de la expansion, descartando los términos de orden superior que constituyen el error de truncamiento del método.
• Se conoce dy/dx (la ecuación diferencial) y se calcula y para valores de x empezando en el valor inicial.
𝑑𝑑 𝑑𝑑 + ∆𝑑𝑑 = 𝑑𝑑 𝑑𝑑 + ∆𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
+(∆𝑑𝑑)2
2!𝑑𝑑2𝑑𝑑𝑑𝑑𝑑𝑑2
+(∆𝑑𝑑)3
3!𝑑𝑑3𝑑𝑑𝑑𝑑𝑑𝑑3
⋯
Excel 415
Método de Euler
• La expansión Taylor es fácil de implementar en una hoja o haciendo uso de VBA para hacerlo más versátil.
• Usando solo hoja de cálculo:– La solución se implementa como una tabla con una
columna x en la que se calcula en cada fila un valor según el valor anterior más el paso. La columna y contiene la fórmula de Euler para el siguiente valor de y, según:
𝑑𝑑 𝑑𝑑 + ∆𝑑𝑑 = 𝑑𝑑 𝑑𝑑 + ∆𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
Excel 416
Método de Euler
– El error disminuye conforme disminuye el tamaño de paso para la variable paso x. Esto significa que se necesitan más cálculos con un paso pequeño para cubrir un rango equivalente en x. La cantidad de filas necesarias para pasos pequeños crece bastante, siendo engorroso si se quiere graficar los resultados, cambiar el rango o cambiar el tamaño de paso. En ese caso es major usar VBA.
• Usando VBA:– La subrutina diseñada calcula los valores estimados de y
para un rango de valores x y coloca los resultados en la hoja a partir de la fila 2 en las columnas A y B
Excel 417
Método de Euler
• Código:Public Sub DoEuler1stOrder()
Dim yn As DoubleDim yn1 As DoubleDim xn As DoubleDim dx As DoubleDim n As Integeryn = 0xn = 0dx = 0.001n = 1000
El problema con el código anterior es el mismo que se mencionó para la hoja, el número de filas puede ser muy grande cuando se usa un paso pequeño.
For i = 1 To nyn1 = yn + (xn + yn) * dxxn = xn + dxyn = yn1ActiveSheet.Cells(i + 1, 1) = xnActiveSheet.Cells(i + 1, 2) = yn
Next iEnd Sub
Excel 418
Método de Euler
Se puede añadir unas líneas para que imprima los resultados cada cantidad de pasos (p.e. 100) con el fin de mantener un número de filas de resultados manejable.
Public Sub DoEuler1stOrder()Dim yn, yn1, xn, dx As DoubleDim n, C, k As Integer
yn = 0xn = 0dx = 0.0001n = 11000C = n / 10k = 1
For i = 1 To nyn1 = yn + (xn + yn) * dxxn = xn + dxyn = yn1 If C >= (n / 10) Then
ActiveSheet.Cells(k + 1, 1) = xnActiveSheet.Cells(k + 1, 2) = ynk = k + 1C = 0
ElseC = C + 1
End IfNext i
End Sub
Excel 419
Método Runge-Kutta aplicado a problemas de valor inicial de 2do orden
• Problema: se requiere resolver numéricamente la ecuación diferencial de segundo orden de la forma:
• Se puede utilizar cualquier técnica de integración numérica usando Excel o VBA
𝐴𝐴𝑑𝑑2𝑑𝑑𝑑𝑑𝑑𝑑2
+ 𝐵𝐵𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
= 𝑓𝑓 𝑑𝑑,𝑑𝑑
𝑑𝑑 0 =∝𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
0 = 𝛽𝛽
Excel 420
Método Runge-Kutta aplicado a problemas de valor inicial de 2do orden
• Considerar la siguiente ecuación y condiciones iniciales:
• Físicamente representa la ecuación del movimiento de un objeto sujeto a un empuje T. m es la masa, Cdun factor de rozamiento y s la posición del objeto.
𝑚𝑚𝑑𝑑2𝑠𝑠𝑑𝑑𝑡𝑡2
+ 𝐶𝐶𝑑𝑑𝑑𝑑𝑠𝑠𝑑𝑑𝑡𝑡
= 𝑇𝑇
𝑠𝑠 0 = 0𝑑𝑑𝑠𝑠𝑑𝑑𝑡𝑡
0 = 0
Excel 421
Método Runge-Kutta aplicado a problemas de valor inicial de 2do orden
• Para resolver la ecuación de movimiento se reescribe para obtener dos ecuaciones de primer orden:
• Se obtiene dos ecuaciones de primer orden acopladas, a las que se aplican técnicas numéricas.
si hacemos: 𝑣𝑣 = 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
𝑚𝑚𝑑𝑑𝑣𝑣𝑑𝑑𝑡𝑡
= 𝑇𝑇 − 𝐶𝐶𝑑𝑑𝑣𝑣
𝑑𝑑𝑠𝑠𝑑𝑑𝑡𝑡
= 𝑣𝑣𝑠𝑠𝑑𝑑=0 = 0𝑣𝑣𝑑𝑑=0 = 0
Excel 422
Método Runge-Kutta aplicado a problemas de valor inicial de 2do orden
• El método de Runge Kutta se basa en tomar más términos de la serie de Taylor de la función, que se traduce en expandir más series de Taylor para estimar las derivadas de mayor orden.
• El enfoque RK reduce el error de truncamiento del orden de (dt)5 en oposición a (dt)2 del método de Euler, con lo que se puede aumentar el paso manteniendo la precisión.
• El compromiso es que hay que realizer más cálculos en cada paso.
Excel 423
Método Runge-Kutta aplicado a problemas de valor inicial de 2do orden
• Las ecuaciones generales de Runge Kutta para la integración son:
𝑘𝑘1 = 𝑑𝑑′(𝑑𝑑,𝑑𝑑)(∆𝑑𝑑)
𝑘𝑘2 = 𝑑𝑑′(𝑑𝑑 +∆𝑑𝑑2
,𝑑𝑑 +𝑘𝑘12
)(∆𝑑𝑑)
𝑘𝑘3 = 𝑑𝑑′(𝑑𝑑 +∆𝑑𝑑2
,𝑑𝑑 +𝑘𝑘22
)(∆𝑑𝑑)𝑘𝑘4 = 𝑑𝑑′(𝑑𝑑 + ∆𝑑𝑑,𝑑𝑑 + 𝑘𝑘3)(∆𝑑𝑑)
𝑑𝑑 𝑑𝑑 + ∆𝑑𝑑 = 𝑑𝑑 𝑑𝑑 + (𝑘𝑘1+2𝑘𝑘2+2𝑘𝑘3+𝑘𝑘4)6
donde: 𝑑𝑑′ representa ⁄𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑
Excel 424
Método Runge-Kutta aplicado a problemas de valor inicial de 2do orden
Public Sub DoRK2ndOrder()Dim t, Cd, M, dt As Double ' Thrust, Drag coefficient, MassDim dt, F, A As Double ' Time step size, Force, AccelerationDim Vn As Double ' Velocity at time tDim Vn1 As Double ' Velocity at time t + dtDim Sn As Double ' Displacement at time tDim Sn1 As Double ' Displacement at time t + dtDim time As Double ' Total timeDim k1, k2, k3, k4 As Double ' RK k1, RK k2, RK k3, RK k4Dim n As Integer ' Counter controlling total number of time stepsDim C As Integer ' Counter controlling output of results to spreadsheetDim k As Integer ' Counter controlling output rowDim r As Integer ' Number of output rows With ActiveSheet ' Extract given data from the active spreadsheet:
dt = .Range("dt")t = .Range("T")M = .Range("M")Cd = .Range("Cd")n = .Range("n")r = .Range("r_")
End Withk = 1 ' Initialize variablestime = 0C = n / rVn = 0Sn = 0
For i = 1 To n ' Start iterationsF = (t - (Cd * Vn)) ' Compute k1A = F / Mk1 = dt * AF = (t - (Cd * (Vn + k1 / 2))) ' Compute k2A = F / Mk2 = dt * AF = (t - (Cd * (Vn + k2 / 2))) ' Compute k3A = F / Mk3 = dt * AF = (t - (Cd * (Vn + k3))) ' Compute k4A = F / Mk4 = dt * AVn1 = Vn + (k1 + 2 * k2 + 2 * k3 + k4) / 6 ' Compute velocity at t + dt
Sn1 = Sn + Vn1 * dt ' Compute displacement at t + dt using Eulertime = time + dt ' Update variablesVn = Vn1Sn = Sn1If C >= n / r Then ' Output results to the active spreadsheet
ActiveSheet.Cells(k + 1, 1) = timeActiveSheet.Cells(k + 1, 2) = SnActiveSheet.Cells(k + 1, 3) = Vnk = k + 1C = 0
ElseC = C + 1
End IfNext i
End Sub
Excel 425
Ecuaciones diferenciales con condiciones de contorno o de frontera
• Hay problemas que se modelizan mediante una ecuación diferencial de segundo orden con condiciones en sus dos extremos [a, b�], que se denomina como ecuación diferencial ordinaria con valores en la frontera o contorno. Se formula como:
• Hay varios métodos para hallar la solución:– Método del disparo (shooting method)– Métodos de las diferencias finitas– Método de colocación y de elementos finitas
𝑑𝑑′′ = 𝑓𝑓 𝑡𝑡,𝑑𝑑,𝑑𝑑′ , 𝑑𝑑 𝑎𝑎 = 𝛼𝛼, 𝑑𝑑 𝑏𝑏 = 𝛽𝛽
Excel 426
Ejemplo de método de disparo
• Se requiere resolver la siguiente ecuación diferencial ordinaria con condiciones de frontera:
es una ecuación de segundo orden sujeta a condiciones de contorno
• Si hacemos: para reducir la ecuación de segundo orden en dos de primer orden:
𝑑𝑑𝑢𝑢2
𝑑𝑑𝑑𝑑2= 2𝑡𝑡 𝑢𝑢 0 = 0, 𝑢𝑢 1 = 1 0 < 𝑡𝑡 < 1
𝑑𝑑2 = 𝑢𝑢 y 𝑑𝑑1 = ⁄𝑑𝑑𝑢𝑢 𝑑𝑑𝑡𝑡 = ⁄𝑑𝑑𝑑𝑑2 𝑑𝑑𝑡𝑡
𝑑𝑑𝑑𝑑2𝑑𝑑𝑡𝑡
= 𝑑𝑑1,𝑑𝑑𝑑𝑑1𝑑𝑑𝑡𝑡
= 2𝑡𝑡 𝑑𝑑2 0 = 0 𝑑𝑑2 1 = 1 0 < 𝑡𝑡 < 1
Excel 427
Método de disparo
• Se basa en encontrar la ecuación diferencial que tiene la misma solución del de contorno que se estudia.
• Para ello se resuelve como un problema de valor inicial usando un algoritmo de marcha tal como Euler o Runge Kutta, asumiendo un valor inicial de las condiciones iniciales desconocidas.
• Cuando el proceso se completa se verifica si los valores obtenidos satisfacen las condiciones de contorno . Sino se repite con otros valores.
Excel 428
Método de disparo
• El proceso iterativo es ideal para Solver.• Todo el proceso se puede realizar con una
combinación de Solver y el método de Euler.• En Solver se especifica
solo las celdas que varían y la condición que debe cumplirse (cond. frontera)
Sistemas de ec. lineales 429
Sistemas de ecuaciones lineales
• A matrix consists of a rectangular array of elements represented by a single symbol (example: [A]).
• An individual entry of a matrix is an element(example: a23)
Sistemas de ec. lineales 430
Matrices
• Matrices where m=n are called square matrices.• There are a number of special forms of square
matrices:
Sistemas de ec. lineales 431
Matrices especiales
Symmetric
A[ ]=5 1 21 3 72 7 8
Diagonal
A[ ]=a11
a22
a33
Identity
A[ ]=1
11
Upper Triangular
A[ ]=a11 a12 a13
a22 a23
a33
Lower Triangular
A[ ]=a11
a21 a22
a31 a32 a33
Banded
A[ ]=
a11 a12
a21 a22 a23
a32 a33 a34
a43 a44
• The elements in the matrix [C] that results from multiplying matrices [A] and [B] are calculated using:
Sistemas de ec. lineales 432
Multiplicación matricial
cij = aikbkjk=1
n
∑
• Matrices provide a concise notation for representing and solving simultaneous linear equations:
Sistemas de ec. lineales 433
Representación de Algebra Lineal
a11x1 + a12x2 + a13x3 = b1
a21x1 + a22x2 + a23x3 = b2
a31x1 + a32x2 + a33x3 = b3
a11 a12 a13
a21 a22 a23
a31 a32 a33
x1
x2
x3
=
b1
b2
b3
[A]{x} = {b}
• Recall that if a matrix [A] is square, there is another matrix [A]-1, called the inverse of [A], for which [A][A]-1=[A]-1[A]=[I]
• The inverse can be computed in a column by column fashion by generating solutions with unit vectors as the right-hand-side constants:
Sistemas de ec. lineales 434
Matriz inversa
A[ ] x1{ }=100
A[ ] x2{ }=
010
A[ ] x3{ }=
001
A[ ]−1 = x1 x2 x3[ ]
• Recall that LU factorization can be used to efficiently evaluate a system for multiple right-hand-side vectors - thus, it is ideal for evaluating the multiple unit vectors needed to compute the inverse.
• Many systems can be modeled as a linear combination of equations, and thus written as a matrix equation:
• The system response can thus be found using the matrix inverse.
Sistemas de ec. lineales 435
Matriz inversa y sistemas estímulo -respuesta
Interactions[ ] response{ }= stimuli{ }
• A norm is a real-valued function that provides a measure of the size or “length” of multi-component mathematical entities such as vectors and matrices.
• Vector norms and matrix norms may be computed differently.
Sistemas de ec. lineales 436
Normas vectoriales y matriciales
• For a vector {X} of size n, the p-norm is:
• Important examples of vector p-norms include:
Sistemas de ec. lineales 437
Normas vectoriales
ini
n
iie
n
ii
xXp
xXXp
xXp
maxmagnitudemaximum:
(length) normEuclidian :2
valuesabsolute theof sum:1
1
1
22
11
≤≤∞
=
=
=−∞=
===
==
∑
∑
X p = xip
i=1
n
∑
1/ p
• Common matrix norms for a matrix [A] include:
• Note - µmax is the largest eigenvalue of [A]T[A].
Sistemas de ec. lineales 438
Normas matriciales
column - sum norm A 1 =1≤ j≤nmax aij
i=1
n
∑
Frobenius norm A f = aij2
j=1
n
∑i=1
n
∑
row - sum norm A∞
=1≤i≤nmax aij
j=1
n
∑spectral norm (2 norm) A
2= µmax( )1/2
• The matrix condition number Cond[A] is obtained by calculating Cond[A]=||A||·||A-1||
• In can be shown that:
• The relative error of the norm of the computed solution can be as large as the relative error of the norm of the coefficients of [A] multiplied by the condition number.
• If the coefficients of [A] are known to t digit precision, the solution [X] may be valid to onlyt-log10(Cond[A]) digits.
Sistemas de ec. lineales 439
Número de condición de una matriz
∆XX
≤ Cond A[ ]∆AA
• The Gauss-Seidel method is the most commonly used iterative method for solving linear algebraic equations [A]{x}={b}.
• The method solves each equation in a system for a particular variable, and then uses that value in later equations to solve later variables. For a 3x3 system with nonzero elements along the diagonal, for example, the jth iteration values are found from the j-1th iteration using:
Sistemas de ec. lineales 440
Método iterativo: Gauss - Seidel
x1j =
b1 − a12x2j−1 − a13x3
j−1
a11
x2j =
b2 − a21x1j − a23x3
j−1
a22
x3j =
b3 − a31x1j − a32x2
j
a33
• The Jacobi iteration is similar to the Gauss-Seidel method, except the j-1th information is used to update all variables in the jth iteration:
a) Gauss-Seidelb) Jacobi
Sistemas de ec. lineales 441
Iteración de Jacobi
• The convergence of an iterative method can be calculated by determining the relative percent change of each element in {x}. For example, for the ithelement in the jth iteration,
• The method is ended when all elements have converged to a set tolerance.
Sistemas de ec. lineales 442
Convergencia
%1001
, ×−
=−
ji
ji
ji
ia xxxε
• The Gauss-Seidel method may diverge, but if the system is diagonally dominant, it will definitely converge.
• Diagonal dominance means:
Sistemas de ec. lineales 443
Dominancia diagonal
aii > aijj=1j≠i
n
∑
• To enhance convergence, an iterative program can introduce relaxation where the value at a particular iteration is made up of a combination of the old value and the newly calculated value:
where λ is a weighting factor that is assigned a value between 0 and 2.– 0<λ<1: underrelaxation– λ=1: no relaxation– 1<λ≤2: overrelaxation
Sistemas de ec. lineales 444
Relajación
( ) oldnewnew 1 iii xxx λλ −+=
Ecuaciones diferenciales en derivadas parciales
Excel 445
• Ordinary Differential Equations have only one independent variable
• Partial Differential Equations have more than one independent variable
• subject to certain conditions: where u is the dependent variable, and x and y are the independent variables.
Ec. derivadas parciales 446
Ecuaciones en derivadas parciales
5)0(,353 2 ==+ − yeydxdy x
222
2
2
2
3 yxyu
xu
+=∂∂
+∂∂
• where are functions of , and . is a function of
• can be:Elliptic if B2 – 4AC < 0Parabolic if B2 – 4AC = 0Hyperbolic if B2 – 4AC > 0
Ec. derivadas parciales 447
Clasificación de EDPs de 2 orden
02
22
2
2
=+∂∂
+∂∂
∂+
∂∂ D
yuC
yxuB
xuA
, , and , .u ux y ux y
∂ ∂∂ ∂
CBA and,, yx andD
• EllipticLaplace equation
• ParabolicHeat equation
• Hyperbolic Wave equation
Ec. derivadas parciales 448
Ejemplos de EDPs de 2 orden
02
2
2
2
=∂∂
+∂∂
yT
xT
2
2
xTk
tT
∂∂
=∂∂
2
2
22
2 1ty
cxy
∂∂
=∂∂
2
1,0,1c
CBA −===
0,0, === CBkA
1,0,1 === CBA
• Schematic diagram of a plate with specified temperature boundary conditions
• The Laplace equation governs the temperature:
Ec. derivadas parciales 449
Ejemplo físico de una PDE elíptica
02
2
2
2
=∂∂
+∂∂
yT
xT
bT
lT
tT
rT
L
W
x
y
Ec. derivadas parciales 450
Discretizando la PDE elíptica
tT
rT
x
y
),( ji ),1( ji +
)1,( −ji
),1( ji −
)1,( +ji
)0,0()0,(m
),0( n
bT
lT ),( ji
x∆
y∆x∆y∆
mLx =∆
nWy =∆
( )22
2 ),(),(2),(),(x
yxxTyxTyxxTyxxT
∆∆−+−∆+
≅∂∂
( )22
2 ),(),(2),(),(y
yyxTyxTyyxTyxyT
∆∆−+−∆+
≅∂∂
Ec. derivadas parciales 451
Discretizando la PDE elíptica
tT
rT
x
y
),( ji ),1( ji +
)1,( −ji
),1( ji −
)1,( +ji
)0,0()0,(m
),0( n
bT
lT ),( ji
x∆
y∆x∆y∆
( )2,1,,1
,2
2 2x
TTTxT jijiji
ji ∆
+−≅
∂∂ −+
( )21,,1,
,2
2 2y
TTTyT jijiji
ji ∆
+−≅
∂∂ −+
( )22
2 ),(),(2),(),(x
yxxTyxTyxxTyxxT
∆∆−+−∆+
≅∂∂
( )22
2 ),(),(2),(),(y
yyxTyxTyyxTyxyT
∆∆−+−∆+
≅∂∂
• Substituting these approximations into the Laplace equation yields:
• if,• the Laplace equation can be rewritten as
(Eq. 1)• there are several numerical methods that can be used to solve the
problem:Direct MethodGauss-Seidel MethodLieberman Method
Ec. derivadas parciales 452
Discretizando la PDE elíptica
02
2
2
2
=∂∂
+∂∂
yT
xT
( ) ( )0
222
1,,1,2
,1,,1 =∆
+−+
∆
+− −+−+
yTTT
xTTT jijijijijiji
yx ∆=∆
04 ,1,1,,1,1 =−+++ −+−+ jijijijiji TTTTT
• Consider a plate that is subjected to the boundary conditions shown below. Find the temperature at the interior nodes using a square grid with a length of by using the direct method.
Ec. derivadas parciales 453
Ejemplo 1: Método directo
mm 0.34.2 ×
m6.0
C°50
C°75
C°300
C°100
m4.2
m0.3
x
y
L
W
• We discretize the plate by taking,
• The nodal temperatures at the boundary nodes are given by:
Ec. derivadas parciales 454
Ejemplo 1: Método directo
myx 6.0=∆=∆
x
y
0,0T0,1T 0,2T 0,3T 0,4T
1,0T
2,0T
3,0T
4,0T
5,0T
1,1T 1,2T 1,3T 1,4T
2,1T 2,2T 2,3T 2,4T
3,1T 3,2T 3,3T 3,4T
4,1T 4,2T4,3T 4,4T
5,1T 5,2T 5,3T 5,4TC°300
C°100
C°50
C°75
3,2,1,3003,2,1,50
4,3,2,1,100
4,3,2,1,75
5,
0,
,4
,0
==
==
==
==
iTiT
jTjT
i
i
j
j
4=∆
=x
Lm 5=∆
=y
Wn
• the equation for the temperature at the node (2,3)
• i=2 and j=3
Ec. derivadas parciales 455
Ejemplo 1: Método directo
x
y
0,0T0,1T 0,2T 0,3T 0,4T
1,0T
2,0T
3,0T
4,0T
5,0T
1,1T 1,2T 1,3T 1,4T
2,1T 2,2T 2,3T 2,4T
3,1T 3,3T 3,4T
4,1T 4,2T4,3T 4,4T
5,1T 5,2T 5,3T 5,4T
3,2T
04 3,22,24,23,13,3 =−+++ TTTTT04 3,34,23,22,23,1 =++−+ TTTTT
04 ,1,1,,1,1 =−+++ −+−+ jijijijiji TTTTT
• We can develop similar equations for every interior node leaving us with an equal number of equations and unknowns.
• For this problem the number of equations generated is 12
Ec. derivadas parciales 456
Ejemplo 1: Método directo
• The corner nodal temperature of are not needed• To get the temperature at the interior nodes we have to write Equation 1
for all the combinations of i and j, i=1 and j=1i=1 and j=2i=1 and j=3i=1 and j=4i=2 and j=1i=2 and j=2i=2 and j=3i=2 and j=4i=3 and j=1i=3 and j=2i=3 and j=3i=3 and j=4
Ec. derivadas parciales 457
Ejemplo 1: Método directo
0,00,45,45,0 ,,, TTTT
1,....,1;1,....,1 −=−= njmi1254 1,22,11,1 −=++− TTT
754 2,23,12,11,1 −=++− TTTT754 3,24,13,12,1 −=++− TTTT
3754 4,24,13,1 −=+− TTT504 1,32,21,21,1 −=++− TTTT
04 2,33,22,21,22,1 =++−+ TTTTT04 3,34,23,22,23,1 =++−+ TTTTT
3004 4,34,23,24,1 −=+−+ TTTT1504 2,31,31,2 −=+− TTT
1004 3,32,31,32,2 −=+−+ TTTT1004 4,33,32,33,2 −=+−+ TTTT
4004 4,33,34,2 −=−+ TTT
• We can use Excel and matrix operations to solve the linear equations system
Ec. derivadas parciales 458
Ejemplo 1: Método directo
T1,1 T1,2 T1,3 T1,4 T2,1 T2,2 T2,3 T2,4 T3,1 T3,2 T3,3 T3,4 RHE-4 1 0 0 1 0 0 0 0 0 0 0 -125 T1,1 74.87191 -4 1 0 0 1 0 0 0 0 0 0 -75 T1,2 95.89590 1 -4 1 0 0 1 0 0 0 0 0 -75 T1,3 127.80360 0 1 -4 1 0 0 1 0 0 0 0 -375 T1,4 196.92881 0 0 0 -4 1 0 0 1 0 0 0 -50 T2,1 78.59170 1 0 0 1 -4 1 0 0 1 0 0 0 T2,2 105.90820 0 1 0 0 1 -4 1 0 0 1 0 0 T2,3 143.38960 0 0 1 0 0 1 -4 0 0 0 1 -300 T2,4 206.32000 0 0 0 1 0 0 0 -4 1 0 0 -150 T3,1 83.58680 0 0 0 0 1 0 0 1 -4 1 0 -100 T3,2 105.75540 0 0 0 0 0 1 0 0 1 -4 1 -100 T3,3 133.52670 0 0 0 0 0 0 1 0 0 1 -4 -400 T3,4 184.9617
300.0 300.0 300.0
75.0 196.9 206.3 185.0 100.0
75.0 127.8 143.4 133.5 100.0
75.0 95.9 105.9 105.8 100.0
75.0 74.9 78.6 83.6 100.0
50.0 50.0 50.0
• Recall the discretized equation
• This can be rewritten as
• For the Gauss-Seidel Method, this equation is solved iteratively for all interior nodes until a pre-specified tolerance is met.
Ec. derivadas parciales 459
Método Gauss-Seidel
04 ,1,1,,1,1 =−+++ −+−+ jijijijiji TTTTT
41,1,,1,1
,−+−+ +++
= jijijijiji
TTTTT
• Consider a plate that is subjected to the boundary conditions shown below. Find the temperature at the interior nodes using a square grid with a length of using the Gauss-Siedelmethod. Assume the initial temperature at all interior nodes to be .
Ec. derivadas parciales460
Ejemplo 2: Método Gauss-Seidel
mm 0.34.2 ×
m6.0
C°50
C°75
C°300
C°100
m4.2
m0.3
x
y
L
W
C°0
• Discretizing the plate by taking,
• The nodal temperatures at the boundary nodes are given by:
Ec. derivadas parciales 461
Ejemplo 2: Método Gauss-Seidel
myx 6.0=∆=∆
x
y
0,0T0,1T 0,2T 0,3T 0,4T
1,0T
2,0T
3,0T
4,0T
5,0T
1,1T 1,2T 1,3T 1,4T
2,1T 2,2T 2,3T 2,4T
3,1T 3,2T 3,3T 3,4T
4,1T 4,2T4,3T 4,4T
5,1T 5,2T 5,3T 5,4TC°300
C°100
C°50
C°75
3,2,1,3003,2,1,50
4,3,2,1,100
4,3,2,1,75
5,
0,
,4
,0
==
==
==
==
iTiT
jTjT
i
i
j
j
4=∆
=x
Lm 5=∆
=y
Wn
• Now we can begin to solve for the temperature at each interior node using
• Assume all internal nodes to have an initial temperature of zero.• Iteration 1:
i=1 and j=1 i=2 and j=3 i=1 and j=2 i=2 and j=4 i=1 and j=3 i=3 and j=1i=1 and j=4 i=3 and j=2i=2 and j=1 i=3 and j=3i=2 and j=2 i=3 and j=4
Ec. derivadas parciales 462
Ejemplo 2: Método Gauss-Seidel
CT º25.311,1 =
5,4,3,2,1;4,3,2,1,4
1,1,,1,1, ==
+++= −+−+ ji
TTTTT jijijiji
ji
CT º5625.262,1 =
CT º3906.253,1 =
CT º098.1004,1 =
CT º3125.201,2 =
CT º7188.112,2 =
CT º27735.93,2 =
CT º344.1024,2 =
CT º5781.421,3 =
CT º5742.382,3 =
CT º9629.363,3 =
CT º827.1344,3 =
• Iteration 2:we take the temperatures from iteration 1 and calculate the approximated error.
i=1, j=1 i=2, j=3 i=1, j=2 i=2, j=4 i=1, j=3 i=3, j=1i=1, j=4 i=3, j=2i=2, j=1 i=3, j=3i=2, j=2 i=3, j=4
Ec. derivadas parciales 463
Ejemplo 2: Método Gauss-Seidel
CT º9688.421,1 =
CT º7596.382,1 =
CT º7862.553,1 =
CT º283.1334,1 =
CT º8164.361,2 =
CT º8594.302,2 =
CT º4881.563,2 =
CT º150.1564,2 =
CT º3477.561,3 =
%27.271,1=aε %58.83
3,2=aε
%49.312,1=aε
100,
,,,
×−
= presentji
previousji
presentji
jia TTT
ε
%49.543,1=aε
%90.244,1=aε
%83.441,2=aε
%03.622,2=aε
%46.344,2=aε
%44.241,3=aε
%70.312,3=aε
%44.573,3=aε
%12.164,3=aε
CT º0425.562,3 =
CT º8394.863,3 =
CT º747.1604,3 =
464
Ejemplo 2: Método Gauss-Seidel
Node Temperature Distribution in the Plate (°C)Number of Iterations
1 2 10
31.2500 42.9688 73.0239
26.5625 38.7695 91.9585
25.3906 55.7861 119.0976
100.0977 133.2825 172.9755
20.3125 36.8164 76.6127
11.7188 30.8594 102.1577
9.2773 56.4880 137.3802
102.3438 156.1493 198.1055
42.5781 56.3477 82.4837
38.5742 56.0425 103.7757
36.9629 86.8393 130.8056
134.8267 160.7471 182.2278
1,1T
2,1T
3,1T4,1T
1,2T
2,2T
3,2T4,2T
1,3T2,3T
3,3T4,3T
Ec. derivadas parciales
• The numerical solution of Laplace equation at a point is the average of four neighbors
• Example for cell S8: =(S7+S9+R8+T8)/4
• Enter the boundary conditions in the appropriate cells. • Copy and paste to cover the cells where values of the potential are to
be calculated. This calculation contains a "circular reference“.
Ec. derivadas parciales 465
Ejemplo 2: Método Gauss-Seidel in Excel
41,1,,1,1
,−+−+ +++
= jijijijiji
TTTTT
• To allow circular references and enable iterations:File → Options → FormulasOn the "Calculations options" form select "Enable iterative calculation"
We can increase the Maximum Iterations (100 is the deafult) andreduce the Maximum Change (0.001 is the default). Iterations will stop when the maximum iteration is reached or the change is less than themaximum change.
• F9 to recalculate.Ec. derivadas parciales 466
Ejemplo 2: Método Gauss-Seidel in Excel
• Color cell based on valueTo achieve the cell color based on value: Inicio → Estilos → Formato condicional → Escalas de color → Más reglasWe can chose a 3 color scale with blue for mimimum, white or gray formidpoint and red for maximum.
Ec. derivadas parciales 467
Ejemplo 2: Método Gauss-Seidel in Excel
• Plotting the resultsNormally we use the chart type Surface or Contour.
Ec. derivadas parciales 468
Ejemplo 2: Método Gauss-Seidel in Excel
Ec. derivadas parciales 469
Ejemplo 3: Uso de SolverFinite Difference Solution
8 0 0 0 0 0 0 07 100 51.74 33.90 26.95 25.07 26.95 33.90 51.74 1006 100 73.07 56.89 48.82 46.39 48.82 56.89 73.07 1005 100 83.64 71.80 65.03 62.86 65.03 71.80 83.64 1004 100 89.71 81.62 76.65 75.00 76.65 81.62 89.71 1003 100 93.56 88.31 84.97 83.83 84.97 88.31 93.56 1002 100 96.23 93.11 91.07 90.37 91.07 93.11 96.23 1001 100 98.26 96.80 95.85 95.52 95.85 96.80 98.26 1000 100 100 100 100 100 100 100
x\y 0 1 2 3 4 5 6 7 8
Residuals-squared87 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00006 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00005 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00004 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00003 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00002 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00001 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000
x\y 0 1 2 3 4 5 6 7 8
sum = 2.7745E-13
=(-4*D5+D4+D6+C5+E5)^2
=SUMA(D17:J23)
• Recall the equation used in the Gauss-Siedel Method,
• Because the Gauss-Siedel Method is guaranteed to converge, we can accelerate the process by using overrelaxation. In this case,
• The λ is known as the “overrelaxation parameter" and is in the range 0 < λ < 2.
Ec. derivadas parciales 470
Método de Lieberman
41,1,,1,1
,−+−+ +++
= jijijijiji
TTTTT
oldji
newji
relaxedji TTT ,,, )1( λλ −+=
• In the past examples, the boundary conditions on the plate had a specified temperature on each edge. What if the conditions are different ? For example, what if one of the edges of the plate is insulated.
• In this case, the boundary condition would be the derivative of the temperature. Because if the right edge of the plate is insulated, then the temperatures on the right edge nodes also become unknowns.
Ec. derivadas parciales 471
Condiciones de contorno alternativas
C°50
C°75
C°300
m4.2
m0.3
x
y
Insulated
• The finite difference equation in this case for the right edge for the nodes for
• However the node is not inside the plate. The derivative boundary condition needs to be used to account for these additional unknown nodal temperatures on the right edge. This is done by approximating the derivative at the edge node as
Ec. derivadas parciales 472
Condiciones de contorno alternativas
C°50
C°75
C°300
m4.2
m0.3
x
y
Insulated
),( jm 1,..3,2 −= nj04 ,1,1,,1,1 =−+++ +−−+ jmjmjmjmjm TTTTT
),1( jm +
),( jm
)(2,1,1
, xTT
xT jmjm
jm ∆
−≅
∂∂ −+
• Rearranging this approximation gives us,
• We can then substitute this into the original equation gives us,
• Recall that is the edge is insulated then,
• Substituting this again yields,
Ec. derivadas parciales 473
Condiciones de contorno alternativas
jmjmjm x
TxTT,
,1,1 )(2∂∂
∆+= −+
04)(22 ,1,1,,
,1 =−++∂∂
∆+ +−− jmjmjmjm
jm TTTxTxT
0,
=∂∂
jmxT
042 ,1,1,,1 =−++ +−− jmjmjmjm TTTT
• The general form for a second order linear PDE with two independent variables and one dependent variable is
• The criteria for an equation of this type to be considered parabolic:
• Examine the heat-conduction equation given by
where thus we can classify this equation as parabolic.
Ec. derivadas parciales 474
Ecuaciones en derivadas parciales parabólicas
02
22
2
2
=++∂∂
+∂∂
+∂∂
+∂∂
∂+
∂∂ GFu
yuE
xuD
yuC
yxuB
xuA
042 =− ACB
tT
xT
∂∂
=∂∂
2
2
α
0,0,1,0,0,0, ==−===== GFEDCBA α
k = thermal conductivity of rod material,ρ = density of rod material,C = specific heat of the rod material.C
kρ
α =where
• Consider the flow of heat within a metal rod of length L, one end of which is held at a known high temperature, the other end at a lower temperature.– Heat will flow from the hot end to the cooler end. – We'll assume that the rod is perfectly insulated, so that
heat loss through the sides can be neglected.
• We want to calculate the temperature along the length of the rod as a function of time.
Ec. derivadas parciales 475
Ejemplo de una EDP parabólica
• For a rod of length divided into nodes
• The time is similarly broken into time steps of
• Hence corresponds to the temperature at node ,that is,
and time
Ec. derivadas parciales 476
Discretización de una EDP Parabólica
L 1+nnLx =∆
t∆
jiT i
( )( )xix ∆= ( )( )tjt ∆=
Schematic diagram showing interior nodes
x
1−i i 1+i
x∆ x∆
• If we define we can then write the finite central divided
difference approximation of the left hand side at a general interior node( ) as where ( ) is the node number along
the time.• The time derivative on the right hand side is approximated by the
forward divided difference method as,
Ec. derivadas parciales 477
Solución EDP Parabólica: Método explícito
nLx =∆
Schematic diagram showing interior nodes
x
1−i i 1+i
x∆ x∆
i( )2
11
,2
2 2x
TTTxT j
ij
ij
i
ji ∆+−
≅∂∂ −+ j
tTT
tT j
ij
i
ji ∆−
≅∂∂ +1
,
• Substituting these approximations into the governing equation yields
• Solving for the temp at the time node gives
• choosing,
• we can write the equation as,
• we can be solved explicitly: for each internal location node of the rod for time node in terms of the temperature at time node . If we know the temperature at node , and the boundary temperatures, we can find the temperature at the next time step. We continue the process until we reach the time at which we are interested in finding the temperature.
Ec. derivadas parciales 478
Solución EDP Parabólica: Método explícito
( ) tTT
xTTT j
ij
ij
ij
ij
i
∆−
=∆
+− +−+
1
211 2
α
1+j
( )ji
ji
ji
ji
ji TTT
xtTT 112
1 2)( −+
+ +−∆∆
+= α
2)( xt
∆∆
= αλ
( )ji
ji
ji
ji
ji TTTTT 11
1 2 −++ +−+= λ
1+j j0=j
• Consider a steel rod that is subjected to a temperature of on the left end and on the right end. If the rod is of length ,use the explicit method to find the temperature distribution in the rod from and seconds. Use , .
• Given: , ,
• The initial temperature of the rod is .
Ec. derivadas parciales 479
Ejemplo 1 EDP Parabólica: Método explícito
C°100C°25 m05.0
0=t9=t mx 01.0=∆ st 3=∆
KmWk−
= 54 37800mkg
=ρKkg
JC−
= 490
C°20
0=i 1 2 3 4 5
m01.0
CT °= 25CT °=100
• Number of time steps
• Recall,
• Then,
• Boundary Conditions
• All internal nodes are at for :
Ec. derivadas parciales 480
Ejemplo 1 EDP Parabólica: Método explícito
smCk /104129.1
490780054 25−×=×
==ρ
α
33
09=
−=
∆−
=ttt initialfinal
( ) ( )4239.0
01.03104129.1 2
52 =×=
∆∆
= −
xtαλ
3,2,1,0allfor25
100
5
0 =
°=
°=j
CTCT
j
j
C°20 sec0=t 1,2,3,4 allfor ,200 =°= iCTi
CT °=10000
nodesInterior
20
20
20
20
04
03
02
01
°=
°=
°=
°=
CTCTCTCT
CT °= 2505
We can now calculate the temperature at each nodeexplicitly using the equation formulated earlier,
( )ji
ji
ji
ji
ji TTTTT 11
1 2 −++ +−+= λ
• Nodal temperatures vs. Time
Ec. derivadas parciales 481
Ejemplo 1 EDP Parabólica: Método explícito
sec0=t 0=jCT °=1000
0
nodesInterior
20
20
20
20
04
03
02
01
°=
°=
°=
°=
CTCTCTCT
CT °= 2505
ConditionBoundary10010 −°= CT
CTCTCT
CT
°=
°=
°=
°=
120.22
20
20
912.53
14
13
12
11
ConditionBoundary2515 −°= CT
sec3=t 1=jCT °=1002
0
CTCTCTCT
°=
°=
°=
°=
442.22
889.20
375.34
073.59
24
23
22
21
CT °= 2525
sec6=t 2=j sec9=t 3=jCT °=1003
0
CTCTCTCT
°=
°=
°=
°=
872.22
266.27
132.39
953.65
34
33
32
31
CT °= 2535
• Using the explicit method, we were able to find the temperature at each node, one equation at a time.
• However, the temperature at a specific node was only dependent on the temperature of the neighboring nodes from the previous time step. This is contrary to what we expect from the physical problem.
• The implicit method allows us to solve this and other problems by developing a system of simultaneous linear equations for the temperature at all interior nodes at a particular time.
• The second derivative is approximated by the CDD and the first derivative by the BDD scheme at time level j+1 at node ( i ) as
Ec. derivadas parciales 482
Solución EDP Parabólica: Método implícito
tT
xT
∂∂
=∂∂
2
2
α ( )2
11
111
1,2
2 2x
TTTxT j
ij
ij
i
ji ∆+−
≈∂∂ +
−++
+
+
tTT
tT j
ij
i
ji ∆−
≈∂∂ +
+
1
1,
• Substituting these approximations into the heat conduction equation yields
• Rearranging yields
given that
• The rearranged equation can be written for every node during each time step. These equations can then be solved as a simultaneous system of linear equations to find the nodal temperatures at a particular time.
Ec. derivadas parciales 483
Solución EDP Parabólica: Método implícito
tT
xT
∂∂
=∂∂
2
2
α ( ) tTT
xTTT j
ij
ij
ij
ij
i
∆−
=∆
+− ++−
+++
1
2
11
111 2α
ji
ji
ji
ji TTTT =−++− +
+++
−1
111
1 )21( λλλ
( )2xt
∆∆
= αλ
• Consider a steel rod that is subjected to a temperature of on the left end and on the right end. If the rod is of length ,use the implicit method to find the temperature distribution in the rod from and seconds. Use , .
• Given: , ,
• The initial temperature of the rod is .
Ec. derivadas parciales 484
Ejemplo 2 EDP Parabólica: Método implícito
C°100C°25 m05.0
0=t9=t mx 01.0=∆ st 3=∆
KmWk−
= 54 37800mkg
=ρKkg
JC−
= 490
C°20
0=i 1 2 3 4 5
m01.0
CT °= 25CT °=100
• Number of time steps
• Recall,
• Then,
• Boundary Conditions
• All internal nodes are at for :
Ec. derivadas parciales 485
Ejemplo 2 EDP Parabólica: Método implícito
smCk /104129.1
490780054 25−×=×
==ρ
α
33
09=
−=
∆−
=ttt initialfinal
( ) ( )4239.0
01.03104129.1 2
52 =×=
∆∆
= −
xtαλ
3,2,1,0allfor25
100
5
0 =
°=
°=j
CTCT
j
j
C°20 sec0=t 1,2,3,4 allfor ,200 =°= iCTi
CT °=10000
nodesInterior
20
20
20
20
04
03
02
01
°=
°=
°=
°=
CTCTCTCT
CT °= 2505
We can now form the system of equations for the first time step by writing the approximated heat conduction equation for each node
ji
ji
ji
ji TTTT =−++− +
+++
−1
111
1 )21( λλλ
• Nodal temperatures when• For the first time step we can write four such equations with four
unknowns, expressing them in matrix form yields
• The above coefficient matrix is tri-diagonal, so special algorithms (e.g.Thomas’ algorithm) can be used to solve. The solution is given by
Ec. derivadas parciales 486
Ejemplo 2 EDP Parabólica: Método implícito
sec3=t
=
−−−
−−−
598.302020390.62
8478.14239.0004239.08478.14239.0004239.08478.14239.0004239.08478.1
14
13
12
11
TTTT
=
477.21438.21792.24451.39
14
13
12
11
TTTT
=
25477.21438.21792.24451.39
100
15
14
13
12
11
10
TTTTTT
• Nodal temperatures when:
Ec. derivadas parciales 487
Ejemplo 2 EDP Parabólica: Método implícito
sec3=t
=
25477.21438.21792.24451.39
100
15
14
13
12
11
10
TTTTTT
sec6=t sec9=t
=
25836.22876.23669.30326.51
100
25
24
23
22
21
20
TTTTTT
=
25243.24809.26292.36043.59
100
35
34
33
32
31
30
TTTTTT
• Using the implicit method our approximation of was of accuracy
, while our approximation of was of accuracy.
• One can achieve similar orders of accuracy by approximating the second derivative, on the left hand side of the heat equation, at the midpoint of the time step. Doing so yields
• The first derivative, on the right hand side of the heat equation, is approximated using the forward divided difference method at time level
,
Ec. derivadas parciales 488
Solución EDP Parabólica: Método Crank-Nicolson
2
2
xT
∂∂
2)( xO ∆tT
∂∂ )( tO ∆
( ) ( )
∆+−
+∆
+−≈
∂∂ +
−++
+−+2
11
111
211
,2
2 222 x
TTTx
TTTxT j
ij
ij
ij
ij
ij
i
ji
α
1+j
tTT
tT j
ij
i
ji ∆−
≈∂∂ +1
,
• Substituting these approximations into the governing equation for heat conductance yields
• giving
• where
• Having rewritten the equation in this form allows us to discretize the physical problem. We then solve a system of simultaneous linear equations to find the temperature at every node at any point in time.
Ec. derivadas parciales 489
Solución EDP Parabólica: Método Crank-Nicolson
( ) ( ) tTT
xTTT
xTTT j
ij
ij
ij
ij
ij
ij
ij
i
∆−
=
∆+−
+∆
+− ++−
+++−+
1
2
11
111
211 22
2α
ji
ji
ji
ji
ji
ji TTTTTT 11
11
111 )1(2)1(2 +−
++
++− +−+=−++− λλλλλλ
( )2xt
∆∆
= αλ
• Consider a steel rod that is subjected to a temperature of on the left end and on the right end. If the rod is of length ,use the Crank-Nicolson method to find the temperature distribution in the rod from and seconds. Use , .
• Given: , ,
• The initial temperature of the rod is .
Ec. derivadas parciales 490
Ejemplo 3 EDP Parabólica: Método Crank-Nicolson
C°100C°25 m05.0
0=t 9=t mx 01.0=∆ st 3=∆
KmWk−
= 54 37800mkg
=ρKkg
JC−
= 490
C°20
0=i 1 2 3 4 5
m01.0
CT °= 25CT °=100
• Number of time steps
• Recall,
• Then,
• Boundary Conditions
• All internal nodes are at for :
Ec. derivadas parciales 491
Ejemplo 3 EDP Parabólica: Método Crank-Nicolson
smCk /104129.1
490780054 25−×=×
==ρ
α
33
09=
−=
∆−
=ttt initialfinal
( ) ( )4239.0
01.03104129.1 2
52 =×=
∆∆
= −
xtαλ
3,2,1,0allfor25
100
5
0 =
°=
°=j
CTCT
j
j
C°20 sec0=t 1,2,3,4 allfor ,200 =°= iCTi
CT °=10000
nodesInterior
20
20
20
20
04
03
02
01
°=
°=
°=
°=
CTCTCTCT
CT °= 2505
We can now form the system of equations for the first time step by writing the approximated heat conduction equation for each node
ji
ji
ji
ji
ji
ji TTTTTT 11
11
111 )1(2)1(2 +−
++
++− +−+=−++− λλλλλλ
• Nodal temperatures when• For the first time step we can write four such equations with four
unknowns, expressing them in matrix form yields
• The above coefficient matrix is tri-diagonal, so special algorithms (e.g.Thomas’ algorithm) can be used to solve. The solution is given by
Ec. derivadas parciales 492
Ejemplo 3 EDP Parabólica: Método Crank-Nicolson
sec3=t
=
−−−
−−−
718.52000.40000.4030.116
8478.24239.0004239.08478.24239.0004239.08478.24239.0004239.08478.2
14
13
12
11
TTTT
=
607.21797.20746.23372.44
14
13
12
11
TTTT
=
25607.21797.20746.23372.44
100
15
14
13
12
11
10
TTTTTT
• Nodal temperatures when:
Ec. derivadas parciales 493
Ejemplo 3 EDP Parabólica: Método Crank-Nicolson
sec3=t sec6=t sec9=t
=
25607.21797.20746.23372.44
100
15
14
13
12
11
10
TTTTTT
=
25730.22174.23075.31883.55
100
25
24
23
22
21
20
TTTTTT
=
25042.24562.26613.37604.62
100
35
34
33
32
31
30
TTTTTT
• The table below allows you to compare the results from all three methods discussed in juxtaposition with the analytical solution.
Ec. derivadas parciales 494
Comparación de métodos: temperaturas en 9 seg.
Node Explicit Implicit Crank-Nicolson Analytical
34
33
32
31
TTTT
042.24562.26613.37604.62
243.24809.26292.36043.59
872.22266.27132.39953.65
610.23844.25084.37510.62
• The general form for a second order linear PDE with two independent variables and one dependent variable is
• The criteria for an equation of this type to be considered hyperbolic:
• The wave equation (oscillatory systems) given by
where thus we can classify this equation as hyperbolic.
Ec. derivadas parciales 495
Ecuaciones en derivadas parciales hiperbólicas
02
22
2
2
=++∂∂
+∂∂
+∂∂
+∂∂
∂+
∂∂ GFu
yuE
xuD
yuC
yxuB
xuA
042 >− ACB
2
2
2
2
xyk
ty
∂∂
=∂∂
1,0,1 −=== CBA
T = tension,g = gravitational constant,w = weight/unit =W/L ,W=weight, L=lengthw
Tgk =where
• A string of certain length and weight is under a fixed tension. Initially the mid-point of the string is displaced some distance from its equilibrium position and released.
• We want to calculate the displacement as a function of time at fixed intervals along the length of the string.
Ec. derivadas parciales 496
Ejemplo de una EDP hiperbólica
• Once again, we can solve the problem by replacing derivatives by finite differences.
• which, when rearranged, yields
• If we set , the above equation is simplified to
• When employing the simplified equation, the value of is determined by the expression
• To begin the calculations (value at t1), it is required values of the function at t0 = 0 and also a value at t-1. We can get a value for the function at t-1 by making use of the fact that the function is periodic.
Ec. derivadas parciales 497
Solución EDP hiperbólica: Método explícito
( ) ( )
∆
+−=
∆+− −+
−+
211
2
11 22x
TTTw
Tgt
TTT ji
ji
ji
ji
ji
ji
( )( )
( )( )
ji
ji
ji
ji
ji T
xt
wTgTTT
xt
wTgT
∆∆
−+−+∆∆
= −−+
+2
21
112
21 12)(
( ) ( ) 122 =∆∆ xwtTg1
111 −
−++ −+= j
ij
ij
ij
i TTTTt∆
wTgxt/
∆=∆
• A string 50 cm long and weighing 0.5 g is under a tension of 33 kg. Initially the mid-point of the string is displaced 0.5 cm from its equilibrium position and released. We want to calculate the displacement as a function of time at 5 cm intervals along the length of the string, using equation
• From equation the must be 8.8 x 10-5 seconds.
Ec. derivadas parciales 498
Ejemplo 1 EDP hiperbólica
111
1 −−+
+ −+= ji
ji
ji
ji TTTT
wTgxt/
∆=∆ t∆
Top Related