HOJAS DE CÁLCULO - unican.es · • Son los más frecuentes en las hojas de cálculo. Se debe...

497
HOJAS DE CÁLCULO Excel básico Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected]

Transcript of HOJAS DE CÁLCULO - unican.es · • Son los más frecuentes en las hojas de cálculo. Se debe...

Excel 2

Índice

• Introducción a Excel.

Excel 3

Objetivos

• Aplicación de hojas de cálculo en problemas de ingeniería.

Excel 4

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 5

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 6

Excel 7

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 8

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 9

Nuevo, Abrir, Guardar, Imprimir, Configurar

• Menú Archivo →

Excel 10

Ventana Excel

Excel 11

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 12

Componentes de la ventana2

• Cinta de Opciones

– Pulsando tecla ALT (modo de acceso por teclado)

Excel 13

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 14

Componentes de la ventana4

• Barra de hojas de trabajo

• Barra de estado y visualización

Excel 15

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 16

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 17

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 18

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 19

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 20

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 21

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 22

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 23

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 24

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 25

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 26

Inserción de figuras, texto, imágenes y ecuaciones2

Excel 27

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 28

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 29

Ejemplo de fórmula

• Ejercicio: Calcular el equivalente en pesetas de 123,45 €.• Como calculadora manual.

• Como hoja de cálculo.

Excel 30

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 31

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 32

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 33

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 34

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 35

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 36

Fórmulas con datos en más de una hoja

Excel 37

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 38

Fórmulas con datos en más de un libro

Excel 39

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 40

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 41

Formato de celdas2

Excel 42

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 43

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 44

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 45

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 46

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 47

Formato de celdas8

Excel 48

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 49

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 50

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 51

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 52

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 53

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 54

Nombres de constantes o fórmulas

• Para gestionar nombres en un libro:

Excel 55

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 56

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 57

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 58

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 59

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 60

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 61

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 62

Serie de datos o fechas3

• Series de datos consecutivos mediante el controladorde relleno– Desde Inicio → Modificar → Rellenar → Series

Excel 63

Listas personalizadas1

• Se puede configurar desde Inicio → Opciones → Avanzadas → General → Modificar listaspersonalizadas

Excel 64

Listas personalizadas2

• Se puede configurar desde Inicio → Opciones → Avanzadas → General → Modificar listaspersonalizadas

Excel 65

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 66

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 67

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 68

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 69

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 70

Validación de datos2

• Ejemplo: Operadores_formatos_graficos_etc.xlsx

Excel 71

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 72

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 73

Excel 74

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 75

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 76

Funciones2

• La opción Ayuda sobre esta función ofrece unaexplicación, sintaxis, observaciones y ejemplos de cadafunción.

Excel 77

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 78

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 79

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 80

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 81

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 82

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 83

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 84

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 85

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 86

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 87

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 88

Excel 89

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 90

Gráficos de datos2

• Datos + Selección del gráfico (Insertar → Gráficos)

Excel 91

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 92

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 93

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 94

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 95

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 96

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 97

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 98

Gráficos – Ejes múltiples

• Problema: Graficar varias series de datos con diferentes ordenes de magnitud.

• Ejemplo: Ejes_multiples.xlsx• 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 99

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 100

Gráficos – Ejes múltiples

Excel 101

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 102

Gráficos – tipo radial

Excel 103

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: Ejercicio_graficos_datos y resueltos.xlsx• 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 104

Gráficos – Superficies 3D

• Ejemplo: gráfico de la funciónpara k=1.25

kyx

yxZ ⋅

+

+−= 22

22 )cos(1

Excel 105

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: Ejercicio_graficos_datos y resueltos.xlsx• 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 106

Gráficos – Contorno

• Contorno con dos escalas

Excel 107

Gráficos – Combinar tipos

• Problema: Mostrar distintas series de datos en el mismo gráfico con diferentes estilos.

• Ejemplo: Ejercicio_graficos_datos y resueltos.xlsx• 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 108

Gráficos – Combinar tipos

Excel 109

Gráficos – Anotaciones

• Problema: Crear anotaciones y adornos en losgráficos para añadir información.

• Ejemplo: Ejercicio_graficos_datos y resueltos.xlsx• 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 110

Gráficos – Anotaciones

Excel 111

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 112

Excel 113

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 114

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 115

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 116

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 117

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 118

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 119

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 120

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 121

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 122

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 123

Excel 124

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 125

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 126

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 127

Estadística descriptiva

Excel 128

Estadística descriptiva

Excel 129

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 130

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 131

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 132

Histograma – Frecuencia

Excel 133

Histograma – Frecuencia

Excel 134

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 135

Análisis de datos – Histograma

Excel 136

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 137

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 138

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 139

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 140

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 141

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 142

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 143

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 144

ANOVA de un factor

Excel 145

ANOVA de un factor

< α = 0.05

>

Excel 146

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 147

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 148

Serie de números aleatorios

Excel 149

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 150

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.

Excel 151

Distribuciones discretas - Binomial

• Problema: En un proceso de fabricación de tornillos se sabe que el 2% son defectuosos. Se empaquetan en cajas de 50 tornillos. Calcular la probabilidad de que en una caja no haya ningún tornillo defectuoso.

• Ejemplo: Distrib_prob.xlsx• Número de éxitos de los ensayos: 0• Número de ensayos independientes: 50.• Probabilidad de éxito de cada ensayo: 0,2.• Como se pide una función de probabilidad o de cuantía, se define el

valor Acumulado como FALSO.• La probabilidad obtenida es: 1,42725E‐05

Excel 152

Distribuciones discretas - Poisson

• Problema: El número medio de defectos en un rollo de tela es de 0,4. Se inspecciona una muestra de 10 rollos, ¿cuál es la probabilidad de que el número total de defectos en los 10 rollos sea por lo menos de 9?.

• Ejemplo: Distrib_prob.xlsx• Se define X = Número de defectos por rollo, con una distribución de

Ps (λ=0,4).• Se pide obtener la P(X ≥ 9), lo que equivale a estimar, 1‐ P(X≤8).

P(X ≥ 9) = 1‐ P(X≤8)• Piden una función de probabilidad de distribución (probabilidad

acumulada), se define el valor Acumulado como VERDADERO.• P(X ≥ 9) = 1‐ P(X≤8) = 1 – 1 = 0

Excel 153

Distribuciones continuas - Normal

• Problema: Calcular la probabilidad de que un estudiante tenga una altura superior a 175, sabiendo que responde a N(170, 20)

• Ejemplo: Distrib_prob.xlsx

– Resultado: probabilidad de que un estudiante tenga una altura superior a 175, es del 59,87%.

Excel 154

Distribuciones continuas – Normal estándar N(0,1)

• La función DISTR.NORMAL.ESTANDAR permite calcular la probabilidad que, en una distribución normal de media cero y desviación típica uno, se encuentra por debajo del valor “a”, (P(Z ≤ a) =?)

• Proporciona las mismas probabilidades que la tabla estándar de áreas de curvas normales.

• Problema: Calcular la probabilidad de que una variable N(0,1)tome un valor superior a 2.

• Ejemplo: Distrib_prob.xlsx

Excel 155

Distribuciones continuas – Normalización

• Problema: Calcular la probabilidad de que un estudiante tenga una altura superior a 175, sabiendo que responde a N(170, 20)

• Ejemplo: Distrib_prob.xlsx– Resultado 0.25 que indica:

Aproximación

Excel 156

Excel 157

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 158

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 159

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 160

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 161

Ajuste lineal por MMC a datos2

Excel 162

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 163

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 164

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 165

Ajuste lineal de datos3

Excel 166

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 167

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 168

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 169

Regresión

Excel 170

Otros tipos de ajuste

• Exponencial• Potencial• Polinómico: es necesario dar el orden del polinomio

– Ejemplos

Excel 171

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 172

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 173

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 174

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 175

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 176

Excel 177

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 178

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 179

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 180

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 181

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 182

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 183

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 184

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 185

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 186

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 187

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 188

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 189

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 190

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 191

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 192

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 193

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 194

Excel 195

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 196

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 197

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 198

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)

0532)( 25 =−−= xxxf

Excel 199

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

0)( 23 =+++= abxcxdxxf

a = 1b = 3c = -7d = 3

Excel 200

Resolviendo ecuaciones –usando Buscar objetivo

• Se puede obtener una solución rápida de ecuacionesalgebraicas simples usando la opción Buscar Objetivo enel menú Datos → Análisis de hipótesis.

• 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ú Datos →Análisis de hipótesis.

– 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 201

Resolviendo ecuaciones –usando Buscar objetivo

• Ejemplo: f(x) = 2*x5 – 3* x2 – 5 = 0

x= 1.40411692

Excel 202

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 Archivo → Opciones →Complementos.

• Para ello se sigue:– Escribir un valor inicial de la variable en una celda.– Escribir la fórmula de la ecuación en formato f(x)=0 en otra celda.

indicando la variable x como referencia a la celda con el valor inicial.– Seleccionar Solver en el menú Datos. En la ventana Solver indicar

en Establecer objetivo la dirección de la celda que contiene la fórmula, el valor 0 en Valor de y la dirección de la celda(s) que contiene el valor inicial en Cambiando las celdas de variables.

– Con Agregar se puede restringir el rango de x. Asegurarse que el método de resolución es GRG Nonlinear.

– Pulsar Resolver. Se puede configurar con Opciones.

Excel 203

Resolviendo ecuaciones –usando Buscar objetivo

• Ejemplo: f(x) = 2*x5 – 3* x2 – 5 = 0

x= 1.40408619

Excel 204

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 205

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 206

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 207

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 208

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 209

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 210

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 211

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 212

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 213

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 214

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

Excel 215

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 216

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 217

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 218

Excel 219

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 220

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 221

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 222

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 223

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 224

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 225

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 226

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 227

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 228

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 229

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 230

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 231

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 232

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 233

Excel 234

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 235

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 236

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 237

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 238

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 239

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 240

Optimización - Programación lineal clásicaSolució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 241

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 242

Optimización - Programación lineal clásica

Optimización de la producción

Unidades de A /mes: 0Unidades de B /mes: 2666.66667

Ganacia (y) = 117333.333

Producción mínima requerida (g1): 2666.66667Disponibilidad mano de obra (g2): 8000

Excel 243

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 244

Optimización - no lineal

Optimización no lineal

x1 = 1.393166873x2 = 1.114533498

y = 13.40446548

g1 = 9.999999972g2 = 0

Excel 245

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 246

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 247

Excel 248

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 249

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 250

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 251

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 252

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 253

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 254

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 255

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 256

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 257

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 258

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 259

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%

Excel 260

VPN vs TIR

• Pueden existir varias TIR cuando el flujo de caja tiene más de un cambio de signo. Por tanto se recomienda usar este indicador cuando un proyecto tenga sólo un cambio de signo.

• Bajo determinadas situaciones el VPN y la TIR, se contradicen cuando se dan dos escenarios:– Escenario 1: Los montos de inversión de los proyectos son

diferentes.– Escenario 2: La distribución temporal de los FC no son iguales: en

dos alternativas A y B, A tiene los FC más grandes al inicio y B, los tiene más concentrados hacia el final de la vida útil.

• En caso de contradicción se debe utilizar el VPN. Se puede demostrar mediante el cálculo de la TIR marginal o tasa de indiferencia.

Conversión de Unidades

Excel 261

Excel 262

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 263

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 264

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 265

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 266

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 267

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 268

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 269

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 270

Excel 271

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 272

Transferencia de datos - Lectura

Excel 273

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 274

Transferencia de datos - Lectura

Excel 275

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 276

Transferencia de datos - Escritura

Organización y Análisis de datos – Tablas dinámicas

Excel 277

Excel 278

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 279

Organización de datos - Listas

Excel 280

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 281

Organización de datos - Ordenación

Excel 282

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 283

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 284

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 285

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 286

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 287

Organización de datos - Filtrado

Excel 288

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 289

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 290

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 291

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 292

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 293

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 294

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 295

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 296

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 297

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 298

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 299

Tablas pivot o dinámicas

Excel 300

Tablas pivot o dinámicas

Excel 301

Tablas pivot o dinámicas

– Herramientas – Gráfico dinámico

Series

Excel 302

Excel 303

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 304

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 305

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 306

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 307

Series de números – Función INDIRECTO

• Ejemplo: Series.xlsx• Se puede usar la función INDIRECTO para crear 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 308

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 309

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 310

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 311

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 312

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 313

Excel 314

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 315

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 316

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 317

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 318

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 319

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 320

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 321

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 322

Excel 323

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 324

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 325

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 326

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 327

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 328

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 329

Examinador de Objetos

Excel 330

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 331

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 332

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 333

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 334

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 335

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 336

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 337

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 338

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 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

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 342

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 343

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 344

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 345

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 346

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 347

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 348

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 349

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 350

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 351

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 352

Á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 353

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 354

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 355

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 356

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 357

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 358

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 359

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 360

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 361

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 362

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 363

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 364

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 365

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 366

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 367

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 368

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 369

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 370

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 371

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 372

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 373

Depuración

Excel 374

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 375

Formularios

Excel 376

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 377

Formularios

Excel 378

Ejemplos de hojas

• Controles_VBA.xlsx, donde se muestran controles y macros.

• primos.xlsm, para calcular números primos y descomposición en factores primos

• lissajous.xlsm, donde se genera curvas lissajous con vba.• proyectil.xlsm, que muestra una aplicación para el cálculo

de la trayectoria de un proyectil.• formularios.xlsm, muestra el uso de formularios con VBA.• Ecuaciones_VBA.xls, que muestra la invocación de

funciones Excel desde VBA.

Excel 379

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 380

Controles - Diseño

Excel 381

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 382

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 383

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 384

Macros - Diseño

Excel 385

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 386

Macros - Editor VB

Excel 387

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 388

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 389

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 390

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 391

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 392

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 393

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 394

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 395

• 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 396

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 397

Derivadas a partir de datos

Para un finito

Diferenciación 398

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 399

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 400

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 401

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 402

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 403

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 404

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 405

Fórmula de 5 puntos

( ) ( ) ( ) ( ) ( )( )2112 8812

1++−− −+−

∆= iiiii xfxfxfxf

xxf

Diferenciación 406

Fórmulas de diferencia finita en adelanto

Diferenciación 407

Fórmulas de diferencia finita en atraso

Diferenciación 408

Fórmulas de diferencia finita centrada

Ecuaciones diferenciales ordinarias

Excel 409

Excel 410

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 411

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 412

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 413

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 414

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 415

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 mejor 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 416

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 417

Método de Euler

Se puede añadir una condición para que imprima los resultados cada cierta 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 418

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 419

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 420

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 421

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 a un 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 422

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 423

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 424

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 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 finitos

𝑑𝑑′′ = 𝑓𝑓 𝑡𝑡,𝑑𝑑,𝑑𝑑′ , 𝑑𝑑 𝑎𝑎 = 𝛼𝛼, 𝑑𝑑 𝑏𝑏 = 𝛽𝛽

Excel 425

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 426

Método de disparo

• Se basa en encontrar la ecuación diferencial que tiene la misma solución que la del contorno que se estudia.

• Para ello se resuelve como un problema de valor inicial usando un algoritmo de avance como Euler o Runge Kutta, asumiendo un valor inicial para 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 427

Método de disparo

• El proceso iterativo es ideal para Solver.

• Todo el proceso se realiza combinando Solver y el método de Euler.

• En Solver solo se especifica la celda variable y la condición que debe cumplirse (cond. frontera)

Sistemas de ec. lineales 428

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 429

Matrices

• Matrices where m=n are called square matrices.• There are a number of special forms of square

matrices:

Sistemas de ec. lineales 430

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 431

Multiplicación matricial

cij = aikbkjk=1

n

• Matrices provide a concise notation for representing and solving simultaneous linear equations:

Sistemas de ec. lineales 432

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 433

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 434

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 435

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 436

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 437

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 438

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 439

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 440

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 441

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 442

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 443

Relajación

( ) oldnewnew 1 iii xxx λλ −+=

Ecuaciones diferenciales en derivadas parciales

Excel 444

• 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 445

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 446

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 447

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 448

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 449

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 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∆

( )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 451

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 452

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 453

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 454

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 455

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 456

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 457

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 458

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 parciales459

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 460

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 461

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 462

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 =

463

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 464

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 465

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 466

Ejemplo 2: Método Gauss-Seidel in Excel

• Plotting the resultsNormally we use the chart type Surface or Contour.

Ec. derivadas parciales 467

Ejemplo 2: Método Gauss-Seidel in Excel

Ec. derivadas parciales 468

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 469

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 470

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 471

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 472

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 473

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

α =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 474

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 475

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 476

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 477

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 478

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 479

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 480

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 481

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 482

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 483

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 484

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 485

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 486

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 487

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 488

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

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 489

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 490

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 491

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 492

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 493

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 494

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 495

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 496

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 497

Ejemplo 1 EDP hiperbólica

111

1 −−+

+ −+= ji

ji

ji

ji TTTT

wTgxt/

∆=∆ t∆