miércoles, 19 de febrero de 2020

Programación estructurada

Programación estructurada:Técnicas para desarrollar algoritmos fáciles de escribir, verificar, leer y modificar. Utiliza:

  • Diseño descendente: etapas, de lo general al detalle.
  • Recursos abstractos: descomposición del problema.
  • estructuras básicas: secuenciales, selectivas, repetitivas y anidadas.
1. Estructuras secuenciales: Una acción se ejecuta detrás de la otra.

Pseudocódigo:
<acción 1>
<acción 2>
<acción 3>
<acción 4>
...
<acción N>

2. Estructuras selectivas: Una acción o acciones que deben cumplir una condición. Son de tipo:
  • Simples: Se cumple una condición, si no salta las acciones.
Pseudocódigo:
Si <Condición> entonces
     <Acción>
Fin Si
  • Dobles: Se evalúa una condición como verdadero o falso.
Pseudocódigo:
Si <Condición> entonces
     <Acción 1>
Si no
     <Acción 2>
Fin Si
  • Múltiples: Se ejecutarán una acciones u otras según el resultado que se obtenga al evaluar una expresión.
Pseudocódigo:
Según sea <Expresión> hacer
     <acción 1>
     <acción 2>
     <acción 3>
     <acción 4>
Si no
     <Acción N>
Fin Según

3. Estructuras repetitivas: Las acciones se repiten mientras o hasta que se cumpla una condición. Las cuales son:
  • Mientras: Las acciones del bucle se realizan cuando la condición es cierta. Además, se pregunta por la condición al principio, de donde se deduce que dichas acciones se podrían ejecutar N veces.
Pseudocódigo:
Mientras <Expresión lógica> hacer
     <Acciones>
Fin mientras
  • Hasta: Las acciones del interior del bucle se ejecutan una vez y continúan repitiendose mientras que la condición sea falsa. Se interroga por la condición al final del bucle.
Pseudocódigo:
Repetir
     <Acciones>
Hasta que <Expresión lógica>
  • Desde: Se utiliza cuando se conoce el número de veces que se va a iterar. La estructura "desde" comienza con un valor inicial y las acciones se ejecutan a menos que el valor inicial sea mayor que el valor final.
Pseudocódigo:
Desde valor<---valor inicial hasta valor final hacer
     <Acciones>
Fin desde

4. Estructuras anidadas: Tanto las estructuras selectivas como repetitivas pueden ser anidadas, e introducidas una al interior de otras.

Pseudocódigo:
Si <Condición 1> entonces
     <Acción 1>
Si no
     Si <Condición 2> entonces
          <Acción 2>
     Si no
          Si <Condición 3> entonces
              <Acción 3>
          Si no
             <Acción n>
         Fin Si
     Fin Si
Fin Si

jueves, 13 de febrero de 2020

Métodos numéricos y optimización: Método de la secante

Método de la secante

El método de Newton para minimizar F utiliza la segunda derivada de F, de esta forma:
Si la segunda derivada no esta disponible, se puede intentar aproximar utilizando la información. En particular, se puede aproximar la segunda derivada con:


A esto se le conoce como el método de la secante, note que la ecuación requiere 2 puntos iniciales para empezar, para lo cual se denota X(-1) y X0, el algoritmo puede ser representado como:

El método de la secante usa la secante entre el punto (k-1) y el punto k para determinar el punto (k+1).

Ejercicio de aplicación
1. Utilizar el método de la secante para encontrar el punto mínimo de la función:
F(X)=X^3-12,2X^2+7,45X+42
Los valores iniciales son X0=12 y X(-1)=13 con una precisión de 10^(-5)

Como estrategia de solución de problemas a través del método de la secante, se recomienda construir la siguiente tabla en EXCEL para aplicar la técnica.


Una propuesta en VBA para solucionar el ejercicio con base en la plantilla sugerida puede ser la siguiente:





Métodos numéricos y optimización: Método de Newton

Método de Newton

Suponga que se tiene un problema con una función para una única variable x. Se asume que cada punto Xk puede ser calculado en F(Xk), F'(Xk) y F''(Xk). Se puede ajustar una función cuadrática a través de Xk que se acople a su primera y segunda derivada, esta función cuadrática es de la forma: 



Entonces en vez de optimizar F, se optimiza su aproximación Q, por lo tanto la condición de primer orden necesaria para optimizar Q es:



El pseudocódigo para este método es el siguiente:


El método de Newton también termina el procedimiento si se cumple la condición:
Valor absoluto(X(k+1)-Xk)<Error

Ejercicio de aplicación
1.Utilizar el método de Newton para encontrar el punto mínimo de la función:
F(X)=((X^2)/2)-sen(x)
El valor inicial es X0=0,5 con una precisión de 10^(-5)

2. Utilizar el método de Newton para encontrar el punto mínimo de la función:
F(X)=X^3-12,2X^2+7,45X+42
El valor inicial es X0=12 con una precisión de 10^(-5)

Para la solución de ejercicios por el método de Newton se sugiere utilizar el siguiente formato de tabla en EXCEL.



Se puede proponer un algoritmo en VBA para solucionar el ejercicio 1 a través de la tabla presentada con anterioridad:


Ejercicios adicionales método de Newton.





lunes, 10 de febrero de 2020

Métodos numéricos y optimización: Método de bisección

Método de bisección

En este método, la mitad del intervalo de incertidumbre es eliminado en cada iteración o paso. Se requieren 3 experimentos en el primer paso o iteración y 2 experimentos en pasos subsiguientes. Para desarrollar este método se tienen los siguientes pasos a continuación:

1. Dividir el intervalo inicial Lo=[a,b] en 4 partes iguales. Donde X0 es el punto medio y X1 y X2 son puntos de ese cuarto.

2. Evaluar la función f(x) en los 3 puntos interiores del intervalo X1, X0 y X2, es decir:
  • f1=f(X1)
  • f0=f(X0)
  • f2=f(X2)
3. Se deben evaluar los siguientes casos en los cuales se debe decidir que parte del intervalo se eliminara:
  • Si f2>f0>f1 entonces se elimina el intervalo [X0, b], por lo tanto X1=X0 y X0=b
  • Si f2<f0<f1 entonces se elimina el intervalo [a,X0], por lo tanto X0=a y X2=X0
  • Si f1>f0 y f2>f0 entonces se eliminan los intervalos [a,X1] y [X2,b] entonces X1=a y X2=b
4. Probar el nuevo intervalo L=b-a que satisfaga el criterio de convergencia L<=Error, si converge se detiene el procedimiento, de lo contrario L=Lo y se regresa al paso 1 del procedimiento.

El siguiente es un ejercicio de ejemplo, que ayudará a entender mejor la aplicación de el método:

Hallar el mínimo de la función objetivo f(x)=x(x-1.5) en el intervalo [0,1], con un 10% de exactitud del valor.

El método de bisección es un método más complejo que la búsqueda exhaustiva, requiere un conjunto más amplio de pruebas y cálculos más extensos. Por lo tanto, para estructurar una base para el algoritmo, se trazará un plan de posición de todas las variables respectivas en la hoja de calculo de EXCEL.
Este plan se compone de los siguientes elementos:
las variables a,b y error están en las celdas B2, B3 y B4 respectivamente y son las celdas de entrada del sistema.
En la fila 5 se tienen las etiquetas de resultados:
Valor puntos: es el valor de la partición del intervalo en 4 partes.
Iteración: cada paso que realiza el algoritmo.
a, x1, x0, x2 y b son los puntos x del intervalo de evaluación del óptimo.
F(x1), F(x2) y F(x0) es la función objetivo evaluada en cada punto del intervalo.
Decisión: evalúa el criterio de convergencia.
Caso: es cada opción para la eliminación de una parte del intervalo (ver paso 3 del procedimiento).


El algoritmo en VBA es el siguiente, nótese que se definen 4 variables y se les asigna una posición en la hoja. La fila 6 se programa por fuera del ciclo FOR_NEXT.





El resultado una vez implementado el algoritmo es el siguiente:





Métodos numéricos y optimización: Búsqueda exhaustiva

Búsqueda Exhaustiva

Este método puede ser utilizado para resolver problemas donde el intervalo en el cual se encuentra el punto óptimo es conocido y es finito.

Si se definen dos puntos: un punto inicial y un punto final en el intervalo de incertidumbre donde se cree esta el óptimo, el método de búsqueda consiste en evaluar la función objetivo en un número predeterminado de puntos equiespaciados en este intervalo.

En general, si la función es evaluada en n-puntos equiespaciados en el intervalo que se denotará como Lo=punto final - punto inicial, entonces el punto óptimo que satisface la función se denotará como Xj.

Si la función es evaluada en todos los n-puntos simultáneamente, este método puede ser llamado método de búsqueda simultánea.

El siguiente es un ejercicio de ejemplo, que ayudará a entender mejor la aplicación de el método:

Hallar el mínimo de la función objetivo f(x)=x(x-1.5) en el intervalo [0,1], con un 10% de exactitud del valor.

En EXCEL se puede construir una herramienta simple que ayude con esta situación. Para ello, se deben generar varias posiciones clave: Exactitud del valor celda (B2), Valor de a celda (B3) y Valor de b celda (B4). estos serán los valores de entrada para el método.

Por otro lado en la fila 5, se generarán los títulos de los resultados que se esperan.


Tras realizar un pequeño programa en VBA, se consiguen los resultados para esta función.


Note por favor, que se requiere definir 4 variables,  la ubicación de los valores del error, a y b debe ser explícita y asignada por el valor de la celda a la que pertenece.
De igual forma, se requiere un ciclo FOR_NEXT para rellenar las columnas A, B y C con las soluciones de búsqueda.
En medio del ciclo se encuentra la función a la cual se le aplica el método de búsqueda. El método termina cuando alcanza el límite superior y es cuando se busca el máximo o el mínimo requerido para la función. Esto se puede lograr implementando dentro del código una función +max() o +min() que hallé dichos valores.



Ejercicios de método de bisección que se pueden resolver por método de búsqueda exhaustiva.


sábado, 8 de febrero de 2020

Introducción a los métodos numéricos y optimización

¿Qué son los métodos numéricos?

Los métodos numéricos constituyen unas técnicas o algoritmos mediante las cuales es posible obtener soluciones numéricas de un problema matemático en diversas áreas.

¿Para qué sirven los métodos numéricos?

  1. Son herramientas poderosas para la solución de problemas (manejo de sistemas de ecuaciones grandes, manejo de no linealidades y solución de geometrías complicadas).
  2. Posibilidad de solución de problemas mediante paquetes, o permite el propio diseño de programas
  3. Medio para reforzar la comprensión de las matemáticas y su aplicación en un campo.

¿Qué problemas se pueden resolver con los métodos numéricos?
  • Raíces de ecuaciones
  • Sistemas de ecuaciones algebraicas lineales
  • Problemas de optimización
  • Ajuste de curvas
  • Otros métodos de integración, diferenciación y ecuaciones diferenciales

Áreas posibles de aplicación de los métodos numéricos
  • Transferencia de calor
  • Operaciones unitarias
  • Modelación de sistemas físicos y sociales
  • Análisis de series de tiempo y comportamientos
  • Problemas aplicados a la industria y a la economía
¿Qué es un modelo matemático?

Se define como una formulación o ecuación que expresa las características esenciales de un sistema físico o de un proceso en términos matemáticos. Consiste en la definición de una variable dependiente y n-números de variables independientes en su expresión. 
La variable Y es la característica que refleja el estado de un sistema, mientras que las variables X reflejan las propiedades de sistema en términos de dimensiones de tiempo o espacio, son todas las que actúan sobre el sistema.

Características de un modelo matemático
  • Describe un proceso o sistema natural en términos matemáticos.
  • Representa una idealización y una simplificación de la realidad. Es decir, ignora los detalles insignificantes del proceso y se concentra en manifestaciones esenciales.
  • Finalmente, conduce a resultados reproducibles y, en consecuencia, llega a emplearse con la finalidad de predecir.
Soluciones analìticas y numéricas
  1. Solución analítica: Se tiene un modelo matemático simple y se pueden aplicar técnicas matemáticas del calculo, trigonometría y otras, para encontrar la solución y saber cómo se comporta el modelo.  
  2. Solución numérica: Para modelos complejos, con muchas variables, es difícil de encontrar su solución por vía analítica, se aplican métodos específicos los cuales encuentran un número aproximado de la solución.






Funciones básicas en EXCEL

La celda en EXCEL

Una celda en Excel es la intersección de una fila y una columna. Una celda puede contener texto, números, fecha, instrucciones, funciones u otros datos. También se puede combinar el cálculo con datos o instrucciones dispuestas en otras hojas del libro.
Fijar celdas en Excel: Para fijar celdas en Excel se debe añadir el carácter $ (F4) $A$1
  • Si el carácter se ubica solo al lado izquierdo de la fila, se bloquea la fila pero no la columna (A$1)
  • Si el carácter se ubica solo al lado izquierdo de la columna, se bloquea solo la columna no la fila ($A1)
Operadores matemáticos


Funciones en EXCEL

1. SUMA: La función SUMA, una de las funciones matemáticas y trigonométricas, suma valores. Puede sumar valores individuales, referencias o rangos de celda o una combinación de las tres. Por ejemplo:
=SUMA(A2:A10)
=SUMA(A2:A10, C2:C10)

2. SI: Comparaciones lógicas entre un valor y lo que se espera. Por esto, una instrucción SI puede tener dos resultados. El primer resultado es si la comparación es Verdadera y el segundo si la comparación es Falsa.
Por ejemplo, =SI(C2="Sí",1,2)

3. Si. Error: SIERROR(valor; valor_si_error)
La sintaxis de la función SI.ERROR tiene los siguientes argumentos:
Valor  Obligatorio:Es el argumento donde busca un error.
Valor_si_error: Obligatorio. Es el valor que se devuelve si la fórmula se evalúa como un error. Se evalúan los tipos de error siguientes: #N/A, #¡VALOR!, #¡REF!, #¡DIV/0!, #¡NUM!, #¿NOMBRE? o #¡NULO!.

4. BUSCARV o CONSULTARV, una de las funciones de buscar y de referencia, cuando necesite buscar elementos de una tabla o un rango por fila.
Hay cuatro partes de la información que necesita para crear la sintaxis de BUSCARV:
  • El valor que desea buscar, también conocido como el valor de búsqueda.
  • El rango donde se encuentra el valor de búsqueda. Recuerde que el valor de búsqueda debe estar siempre en la primera columna del rango para que BUSCARV funcione correctamente.
  • El número de columna del rango que contiene el valor devuelto. Por ejemplo, si especifica B2: D11 como el rango, B se debe contar como la primera columna, C como la segunda y así sucesivamente.
  • Opcionalmente, puede especificar VERDADERO si desea una coincidencia aproximada o FALSO si desea una coincidencia exacta del valor devuelto. Si no especifica nada, el valor predeterminado siempre será VERDADERO o la coincidencia aproximada.
5. Funciones matemáticas

Ejercicio
Con el fin de clasificar el sorgo, como materia prima utilizada en una industria procesadora de alimentos balanceados para animales, para un bache de 3 toneladas. La materia prima es clasificada de acuerdo a su composición proteica, como: óptima con una composición entre el 11 y 15%, aceptable con una composición entre el 10 y 7%, y pésima con una composición inferior al 6%. La materia prima clasificada como pésima, y cuya composición es superior al 4%, se realiza un mezclado con otros granos, para que finalmente sea clasificada como aceptable, y posteriormente, pueda ser utilizada en el proceso productivo.

En el siguiente vídeo se puede ver una aplicación de las diferentes funciones en EXCEL.


Covid 19 Práctica Rmarkdown

covid covid Julian Uribe 2023-12-05 ## ── Attaching core tidyverse...