a. Objetivo
Implementar un programa en Matlab para determinar el perfil y volumen de botellas de diversos tipos, utilizando los métodos de interpolación B-Spline e integración numérica.
b. Formulación de trabajo
Realizar un programa en MATLAB que interpole una serie de medidas tomadas de una botella mediante B-Spline paramétricas. Integrar numéricamente dicha función para obtener el volumen del interior del recipiente:
i. Definir varias tablas a partir de medidas tomadas de diferentes modelos de botellas de plástico (bebidas refrescantes gaseosas).
ii. Interpolar con B-Spline y representar dicha función interpoladora.
iii. Calcular mediante integración numérica el volumen del contenido.
c. Estrategia de desarrollo
Para llevar a cabo la presente práctica consideramos lo siguiente:
1) Revisar la documentación especializada de cada uno de los métodos numéricos que serán utilizados.
2) Adecuar los datos a un formato Excel, en dos columnas (alturas y radios).
3) Identificar los algoritmos de interpolación B-Spline e integración numérica.
4) Implementar cada uno de los algoritmos en funciones (BSpline.m, figura3D.m, Simpson.m), las cuales serán ejecutadas desde un programa principal.
5) Una vez desarrollado el programa principal se procede a graficar y calcular el perfil y volumen de la botella.
Materiales y métodos
d. Materiales
i. Botellas y envases platicos
Botellas
Una botella es un recipiente fabricado en material rígido, habitualmente vidrio o alguna variedad de plástico, que tiene un cuello más angosto que el cuerpo del recipiente y que generalmente se usa para almacenar productos líquidos, como agua, leche, etc.
Se utiliza para aquellos productos cuyas propiedades no se alteran bajo los efectos de la luz. En caso contrario, se precisa utilizar envases opacos como latas o bricks.
A fines del siglo XX su uso para las bebidas de consumo masivo tendió a declinar y reemplazadas por envases plásticos sin retorno. Sin embargo, existen campañas en varios países contra los envases de PVC, por los problemas que causa al medio ambiente.
La botella de vidrio lleva pegada una o varias etiquetas de papel en las que se especifica el producto y la marca así como las informaciones legales: composición, razón social del fabricante, etc.
Partes de la botella
La botella se compone de las siguientes partes (de arriba abajo):
Boca (orificio por donde se vierte el líquido), hilo o hélice, anillo, cuello, cuerpo, fondo, anillo de apilamiento.
Las botellas de vino se caracterizan por tener un cierre basado en tapones de corcho o tapones alternativos. La botella estándar contiene un volumen de 750 mL (Figura 1) y se puede decir que es debido a un desarrollo relativamente reciente.
Envases plásticos
Un envase es un producto que puede ser fabricado con una gran variedad de materiales, pero son más comunes los de plásticos y sirve para contener, proteger, manipular, distribuir y presentar mercancías en cualquier fase de su proceso productivo, de distribución o venta.
Una de las principales funciones del envase plástico es la de conservar el producto. En este sentido, las características de un buen envase son las siguientes:
Que permita su identificación.
Capacidad de proteger el producto.
Que sea adecuado a las necesidades del consumidor en términos de tamaño, ergonomía, calidad, etc.
Que se ajuste a las unidades de carga y distribución del producto.
Que se adapte a las líneas de fabricación y envasado del producto, y en particular a las líneas de envasado automático.
Que cumpla con las legislaciones vigentes.
Que su precio sea adecuado a la oferta comercial que se quiere hacer del producto.
Que sea resistente a las manipulaciones, transporte y distribución comercial.
Algunas funciones del envase y el etiquetado son:
Protección física.- El contenido del envase necesita estar protegido entre otras cosas de los golpes, las vibraciones, la compresión, la temperatura, etc.
Más allá de los usos básicos (contener, proteger y almacenar el producto), el envase debe cumplir con otras funciones igual de importantes como:
Diferenciar en el anaquel.- Si tenemos la oportunidad de elegir entre varias marcas, la que sea visualmente más atractiva.
Posicionar en la mente del consumidor.- Un envase bien diseñado es aquel que por sus elementos gráficos nos dice qué tipo de producto es el que vamos a elegir.
Medio publicitario.- La competencia en el anaquel es muy cerrada y a través de la publicidad en el envase podemos influir en la preferencia del consumidor, de forma independiente a los esfuerzos publicitarios realizados en medios masivos.
Figura 2: Muestra de publicidad en envases de bebidas gaseosas
En este trabajo utilizaremos cuatro botellas de vidrio con medidas (menores a 500 mL) y características específicas, las cuales serán detalladas en la sección análisis y resultados.
ii. Software Matlab
MATLAB es el nombre abreviado de "MATrix LABoratory". MATLAB es un programa para realizar cálculos numéricos con vectores y matrices. Como caso particular puede también trabajar con números escalares, con cadenas de caracteres y con otras estructuras de información más complejas. Una de las capacidades más atractivas es la de realizar una amplia variedad de gráficos en dos y tres dimensiones. MATLAB tiene también un lenguaje de programación propio.
MATLAB es un gran programa de cálculo técnico y científico. El lenguaje de programación de MATLAB siempre es una magnífica herramienta de alto nivel para desarrollar aplicaciones técnicas, fácil de utilizar y aumenta significativamente la productividad de los programadores respecto a otros entornos de desarrollo.
MATLAB es ampliamente conocido y utilizado en universidades e institutos de para el aprendizaje en cursos básicos y avanzados de matemáticas, ciencias y especialmente ingeniería. En la industria se utiliza en investigaciones, desarrollo y diseño de prototipos. El programa estándar de MATLAB comprende una serie de de herramientas (funciones) que pueden ser utilizadas para resolver problemas comunes. Pero MATLAB incorpora, además, otras librerías especializadas llamadas toolboxes que son colecciones de funciones especializadas para resolver problemas muy específicos. Como ejemplos de estas colecciones tenemos los toolbox de imágenes, análisis numéricos, cálculo simbólico y diseño de sistemas de control.
e. Métodos
i. Interpolación B-Spline
La función B-Spline consiste en polinomios fragmentarios determinados por una serie de puntos de control, La función B-Spline basada en polinomios cúbicos se denomina B-Spline cúbica y pertenece a la familia de la función C-Spline, pero con un carácter diferente. Llamamos a los puntos de control, porque la B-Spline no pasa por ellos excepto en condiciones especiales. La función B-Spline resulta útil para generar curvas suaves en aplicaciones de diseño y graficas en la que la impresión artística o una curva agradable a la vista son más importantes que un ajuste estricto.
End For i
La codificación del algoritmo de interpolación B-Spline en Matlab se muestra en el anexo 02.
ii. Integración numérica
En análisis numérico, la integración numérica constituye una amplia gama de algoritmos para calcular el valor numérico de una integral definida. El término cuadratura numérica (a menudo abreviado a cuadratura) es más o menos sinónimo de integración numérica, especialmente si se aplica a integrales de una dimensión a pesar de que para el caso de dos o más dimensiones (integral múltiple) también se utilizan.
El problema básico considerado por la integración numérica es calcular una solución aproximada a la integral definida:
Hay varias razones para llevar a cabo la integración numérica. La principal puede ser la imposibilidad de realizar la integración de forma analítica. Incluso existen funciones integrables pero cuya primitiva no puede ser calculada, siendo la integración numérica de vital importancia. La solución analítica de una integral nos arrojaría una solución exacta mientras que la solución numérica nos daría una solución aproximada. El error de la aproximación, depende del método que se utilice y de qué tan fino sea, puede llegar a ser tan pequeño que es posible obtener un resultado idéntico a la solución analítica en las primeras cifras decimales.
Los métodos de integración numérica pueden ser descritos generalmente como combinación de evaluaciones del integrando para obtener una aproximación a la integral. Un método que produce un pequeño error para un pequeño número de evaluaciones es normalmente considerado superior.
Hay una extensa familia de métodos que se basan en aproximar la función a integrar f(x) por otra función g(x) de la cual se conoce la integral exacta. Algunos de métodos son:
Regla del trapecio.- Es un método de integración numérica que se basa en la integración de la formula de interpolación lineal. Supongamos que se evalúa
Donde E representa el error por truncado. La regla trapezoidal se ilustra gráficamente en la Figura 4 El área bajo la interpolación lineal, es igual a la integral calculada por la regla trapezoidal, mientras que el área bajo es el valor exacto.
La ecuación 06 puede extenderse a múltiples intervalos. Si la función integrada se representa mediante puntos de datos con puntos de abscisas igualmente espaciados, la ecuación 06 puede aplicarse a cada intervalo. La ecuación así extendida es la regla trapezoidal extendida (Figura 5) y se escribe así:
La regla de Simpson extendida es una aplicación de la ecuación 08 a un dominio dividido en un número par de intervalos. Si denotamos el número total de intervalos con par), la regla de Simpson extendida se escribe así:
Integración numérica en un dominio bidimensional.-
Podemos modificar los métodos explicados anteriormente para aproximar integrales múltiples. Consideramos la integral doble
Donde R es una región rectangular en el plano, veamos el siguiente ejemplo mediante el esquema de la Figura 7
Programación y visualización grafica
MATLAB posee un lenguaje de programación que –como cualquier otro lenguaje de programación– dispone de sentencias para realizar bifurcaciones y bucles. Las bifurcaciones permiten realizar una u otra operación según se cumpla o no una determinada condición y los bucles permiten repetir o ejecutar operaciones un cierto número de veces. La Figura 8 muestra tres diagramas de flujo con bifurcaciones y bucles
Matlab permite realizar gráficos de curvas planas y superficies (Figura 9), además es posible trabajar colores, rejillas, marcos, etc., en los gráficos. Matlab es por tanto, un software matemático con elevadas prestaciones graficas, lo que le distingue de muchos otros paquetes de cálculo simbólico.
Análisis y resultados
Para realizar el cálculo del perfil y el volumen de una botella se elaboró un programa y tres funciones en el software Matlab, el programa principal "perfil_volumen" inicia leyendo los datos en archivo Excel (altura y el radio de cada botella), luego realiza la interpolación BSpline, grafica en 3D la botella y finalmente calcula el volumen haciendo uso del método de integración numérica de Simpson 1/3.
f. Medidas de botellas
En la presente sección definimos las características de las botellas que serán usadas en cada uno de los análisis, cada modelo tiene medida y espesor distinto. Para cada de las botellas de vidrio se detallan a continuación:
Primera botella
La primera botella es de vidrio, tiene una altura de 12.0 cm, espesor de 3.5 mm.
Las medidas del radio de la botella son realizadas a intervalos de 0.5 cm iniciando de la parte superior (boca de la botella) a la inferior (fondo),
Las medidas son expresadas en centímetros y fueron realizadas con un equipo de alta presión (pie de rey) y almacenadas en un archivo Excel en el mismo formato de la tabla 01 (altura, radio).
Segunda botella
La segunda botella es de vidrio, tiene una altura de 21.0 cm, espesor de 2.7 mm.
Las medidas del radio de la botella son realizadas a intervalos de 0.5 cm iniciando de la parte superior (boca de la botella) a la inferior (fondo),
Al igual que la primera botella, las medidas son expresadas en centímetros y fueron realizadas con un equipo de alta presión (pie de rey) y almacenadas en un archivo Excel en el mismo formato de la tabla 02 (altura, radio).
Tercera botella
La tercera botella es de vidrio, tiene una altura de 17.5 cm, espesor de 3.5 mm.
Las medidas del radio de la botella son realizadas a intervalos de 0.5 cm iniciando de la parte superior (boca de la botella) a la inferior (fondo),
Al igual que la primera y la segunda botella, las medidas son expresadas en centímetros y fueron realizadas con un equipo de alta presión (pie de rey) y almacenadas en un archivo Excel en el mismo formato de la tabla 03 (altura, radio).
Cuarta botella
La tercera botella es de vidrio, tiene una altura de 19.5 cm, espesor de 3.5 mm.
Las medidas del radio de la botella son realizadas a intervalos de 0.5 cm iniciando de la parte superior (boca de la botella) a la inferior (fondo),
Al igual que los casos anteriores, las medidas son expresadas en centímetros y fueron realizadas con un equipo de alta presión (pie de rey) y almacenadas en un archivo Excel en el mismo formato de la tabla 04 (altura, radio).
Una vez creados los archivos Excel, ya estamos listos para ejecutar nuestro programa principal "perfil_volumen", en las primeras líneas de este programa podemos agregar el nombre del archivo Excel, en este caso se incluyen cuatro archivos que pueden ser elegidos al retirar el signo "%", se observa que se ejecutará el archivo "data_envase_01"
% Descomentar el archivo a procesar
% dat=xlsread('data_botella_01'); % Botella tipo 1
% dat=xlsread('data_botella_02'); % Botella tipo 2
% dat=xlsread('data_botella_03'); % Botella tipo 3
dat=xlsread('data_envase_01'); % Botella tipo 4
Una vez elegido el nombre del archivo que contiene la información de las alturas y radios de la botella, procedemos a ejecutar en Matlab el programa principal
>> perfil_volumen
En la Figura 10, vemos una muestra de la ejecución del programa
Figura 10: Muestra de ejecución del programa principal "perfil_volumen"
g. Calculo de perfil (B-Spline)
Para cumplir el primer objetivo de calcular el perfil de una botella mediante el método de interpolación B-Spline, implementamos una función llamada BSpline.m, la cual es ejecutada desde el programa principal "perfil_volumen.m", la función interpoladora necesita como argumentos de entrada los vectores de altura y radio, y devuelve los vectores de altura y radio
En la Figura 11 se muestra la sección del programa principal que realiza la visualización del perfil original e interpolado con B-Spline.
En la izquierda de la Figura 12 a Figura 15 se muestran los perfiles de las cada una de las botellas, se puede apreciar que cada una de las botellas presentan perfiles con ligeras diferencias.
En la derecha de la Figura 12 a Figura 15 se muestran la superposición de los perfiles originales en círculos rojos y los perfiles interpolados en líneas continuas de color azul, el perfil interpolado fue calculado haciendo uso del algoritmo B-Spline, el cual es la sumatoria de segmentos ajustados a polinomios cúbicos que generan curvas más suaves.
Figura 11: Indica la sección del programa principal que realiza la interpolación B-Spline.
Figura 12: (Izquierda) Datos originales del perfil de botella (primer tipo), (Derecha) superposición del perfil original y los calculados por interpolación B-Spline
Figura 13: (Izquierda) Datos originales del perfil de botella (segundo tipo), (Derecha) superposición del perfil original y los calculados por interpolación B-Spline.
Figura 14: (Izquierda) Datos originales del perfil de botella (tercer tipo), (Derecha) superposición del perfil original y los calculados por interpolación B-S pline.
Figura 15: (Izquierda) Datos originales del perfil de botella (tercer tipo), (Derecha) superposición del perfil original y los calculados por interpolación B-Spline.
h. Calculo de volumen (integración numérica)
En la Figura 16 se muestra el segmento del programa principal en donde se realiza la visualización 3D y el cálculo del volumen de la botella.
Figura 16: Indica la sección del programa principal que realiza el cálculo del volumen mediante integración numérica Simpson
Para visualizar la botella en 3D, primeramente debemos determinar los puntos de la botella en coordenadas para esto utilizamos la función "figura3D.m", la función utiliza los resultados los puntos interpolados de la sección anterior como argumentos de entrada, luego usamos los respectivos comandos de visualización para mostrar la botella en 3D como se observa en la Figura 17.
Para el cálculo del volumen se hace uso de la función "Simpson.m" teniendo como argumentos de entrada al vector resultante de la interpolación BSpline.
La integración numérica es realizada utilizando el método de interpolación Simpson extendida 1/3.
Para determinar el volumen de una botella, primero calculamos el área de cada unos de los radios de la botella en cada uno intervalos de altura, luego multiplicamos el área calculada (por integración numérica) por el diferencial de altura de cada botella.
En la tabla 05, se muestra los resultados del cálculo del cada uno de los volúmenes de las botellas.
Tabla 05. Resultados del volumen de las botellas
Tipo de botella | Volumen |
Botella 01 | 471.623 |
Botella 02 | 278.1086 |
Botella 03 | 489.4042 |
Botella 04 | 477.6769 |
i. Se realizó la investigación bibliográfica necesaria para identificar los algoritmos de interpolación, visualización e integración numérica.
j. Se realizó calculo de la medidas de los radios en intervalos de 0.5 cm de altura de cada una de las botellas con instrumentos de alta precisión (pie de rey).
k. Se implementó un programa principal para el cálculo del perfil y volumen de botellas, además de tres funciones (BSpline.m, figura3D.m, Simpson.m) para una mejor organización del desarrollo del trabajo.
l. El segmento del programa principal referida a la interpolación BSpline permite obtener una imagen mas suave del perfil de la botella, además de obtener mas puntos del perfil de la botella.
m. El cálculo del volumen por interpolación numérica, se basa primeramente en el cálculo del área de una circunferencia para luego multiplicar por el intervalo del incremento de altura.
n. Se realizó la visualización 3D de cada una de las botellas.
MathWorks On-line: http://www.mathworks.com/
Pérez César 2002. Matlab y sus aplicaciones en las ciencias y la ingeniería. Prentice Hall. ISBN: 84-205-3537-0
Shoichiro Nakamura 1997. Análisis numérico y visualización grafica con Matlab. Prentice Hall. ISBN: 0-13-051518-3
Amos Gilat 2006. Matlab una introducción con ejemplos prácticos. Editorial Reverte.
Botella – Wikipedia, la enciclopedia libre. On-line http://es.wikipedia.org/wiki/Botella
Envase – Wikipedia, la enciclopedia libre. On-line http://es.wikipedia.org/wiki/Envase
B-spline – Wikipedia, the free encyclopedia. On-line http://en.wikipedia.org/wiki/B-spline
Integral múltiple – Wikipedia, la enciclopedia libre. On-line. http://es.wikipedia.org/wiki/Integral_m%C3%BAltiple
Autor:
David Correa Chilón.
Director de Servicios de Programación.