Guía Semanal 9: Análisis Numérico y Visualización Gráfica

Asignatura: Programación de Computadores / Fundamentos de Programación Temática Principal: Manipulación Masiva de Datos (NumPy) y Gráficos de Ingeniería (Matplotlib)

1. Introducción y Propósito

El propósito de esta semana es dar el salto del procesamiento de datos individuales a la manipulación masiva de información. Los estudiantes aprenderán que, en la ingeniería real (como al analizar lecturas de sensores o cargas sobre una viga), no procesamos variables una por una, sino bloques enteros de datos (vectores). Introduciremos dos de las librerías científicas más importantes del mundo: NumPy y Matplotlib.

2. Resultados de Aprendizaje

  • Importar y configurar librerías externas en el entorno de trabajo (import numpy as np, import matplotlib.pyplot as plt).
  • Diferenciar entre una lista estándar de Python y un arreglo numérico (vector) optimizado de NumPy.
  • Aplicar el concepto de Vectorización para realizar cálculos matemáticos masivos sin depender de bucles for.
  • Diseñar y personalizar gráficos en 2D que cumplan con los estándares de un informe técnico de ingeniería.

3. Hoja de Ruta de la Sesión

Parte A: La Potencia de NumPy (Adiós al Bucle for para matemáticas)

Se debe explicar a los estudiantes que NumPy convierte a Python en una calculadora científica de alto rendimiento. El concepto fundamental a interiorizar es la creación del arreglo: np.array(). * Ejemplo Base: Transformar una lista de temperaturas recolectadas en campo en un arreglo numérico.

Parte B: Vectorización aplicada a las Rutas

Aquí demostramos la magia de aplicar una fórmula matemática a miles de datos en una sola línea de código: * Ruta Agroindustrial: Convertir masivamente un vector de temperaturas de grados Celsius a Kelvin sumando 273.15 directamente al vector. * Ruta Civil / Agrícola: Calcular un vector de presiones hidrostáticas multiplicando constantes (densidad y gravedad) por un vector de múltiples profundidades (\(P = \rho \cdot g \cdot h\)).

Parte C: Visualización de Datos (Matplotlib)

Un ingeniero toma decisiones basadas en tendencias visuales. Se enseñará a trazar coordenadas X e Y usando plt.plot(). * Regla de Oro: Inculcar que un gráfico sin título ni etiquetas en los ejes no tiene validez técnica. * Personalización: Uso de marker='o', color='red', linestyle='--' y la adición de cuadrículas con plt.grid(True) para la lectura de curvas de secado.

4. Actividades de Aprendizaje Guiado

Interacción con el Tutor IA

Los estudiantes deben ejecutar el siguiente prompt en su chat de apoyo para profundizar teóricamente en las librerías: > “Actúa como un Científico de Datos experto en ingeniería. Estoy empezando a usar NumPy y Matplotlib en Python. 1) Explícame la diferencia principal entre una lista normal de Python y un arreglo de NumPy (ndarray). ¿Por qué NumPy es más rápido? 2) ¿Qué significa el término”vectorización”? 3) En Matplotlib, además del gráfico de líneas, explícame para qué sirven: plt.scatter() y plt.bar(). 4) Escribe un código de ejemplo breve donde se grafique la función de una parábola matemática, útil para diseño de canales o puentes. Después hazme 2 preguntas para verificar mi comprensión.”

Reto Práctico de Visualización

En su entorno de trabajo, los estudiantes deben modificar el código de la curva de secado teórica para que los marcadores sean cuadrados (marker='s'), la línea sea azul y el gráfico incluya una leyenda que especifique el tipo de producto analizado (ej. “Maíz” o “Concreto”).

5. Resumen Cognitivo (Para escritura a mano)

El resumen manuscrito de esta sesión debe consolidar la sintaxis y los conceptos: 1. Definición: Qué es un arreglo de NumPy y por qué supera en velocidad a las listas tradicionales. 2. Vectorización: Explicación con sus propias palabras de cómo aplicar una operación matemática a un conjunto de datos completo. 3. Librerías: Los apodos estándar (np y plt). 4. Reflexión: “La visualización de datos cambia la manera en que un ingeniero entiende y comunica un problema”.

Instrucción Adicional: En el reverso de la hoja, los estudiantes deben escribir a mano (sin mirar el computador) las 4 a 5 líneas de código de Matplotlib necesarias para tomar dos arreglos x e y, graficarlos, ponerles un título, nombrar los ejes y mostrar el gráfico en pantalla con plt.show().