sábado, 22 de noviembre de 2025

Python versus los demás

 Fuente: Google & Coursera

Python frente a otros lenguajes de programación
Estado: Traducido automáticamente del Inglés

Python es uno de los lenguajes de programación más populares entre los profesionales de los datos, lo que lo convierte en un gran complemento para tu caja de herramientas de Analítica de datos ASÍ COMO hemos investigado anteriormente, el uso de Python de la sintaxis para comunicar comandos y realizar tareas refleja el lenguaje hablado. Esto hace que Python sea un lenguaje de programación mucho más fácil de aprender. La estructura de Python es similar a la de muchos otros lenguajes de programación, pero también hay que tener en cuenta algunas diferencias clave.

En esta lectura, aprenderás cómo se compara Python con otros lenguajes de programación que utilizan los profesionales de los datos, como R, Java y C++.

Cinco consideraciones sobre los lenguajes de programación

Python no es el único lenguaje de programación utilizado para el análisis de datos, pero es uno de los más utilizados y potentes. Muchos profesionales de los datos utilizan incluso más de un lenguaje de programación. Cada lenguaje tiene sus ventajas y sus inconvenientes. Para los fines de este curso, examine las siguientes consideraciones: velocidad, accesibilidad, variables, enfoque de ciencia de datos y paradigma de programación.

Velocidad

Hay muchos factores que contribuyen a la velocidad de ejecución de un programa, como el tiempo de compilación, el tiempo de ejecución, el hardware, las dependencias instaladas y la eficiencia del propio código. En general, los lenguajes de programación de bajo nivel son más rápidos, pero son más difíciles de aprender y trabajar con ellos.

Accesibilidad

La facilidad de aprendizaje se refiere a la facilidad con la que los principiantes pueden empezar a utilizar un lenguaje. El aprendizaje de nuevos lenguajes de programación puede resultar complicado en función de su sintaxis y estructura general. La sintaxis es la estructura de las palabras clave, los símbolos, la colocación y la puntuación. La semántica añade significado a esas estructuras mediante el uso de variables y objetos. Además, esas variables ayudan a añadir flexibilidad a los programas y objetos donde se alojan los datos.

Variables

La información del código se almacena en variables. Una variable es un contenedor con nombre que almacena valores en un lugar reservado de la memoria del ordenador. La forma en que un lenguaje de programación utiliza las variables repercutirá en las operaciones básicas de un sistema o en la velocidad del núcleo. Algunos lenguajes utilizan variables estáticas para mantener un valor durante toda la ejecución de un programa. Otros enfocan las variables como dinámicas, permitiendo que los valores se determinen cuando se ejecuta un programa. Algunos lenguajes permiten incluso variables declarativas, que permiten a un programa determinar dónde debe colocarse una variable.

Enfoque de Ciencia de datos

Los lenguajes de programación tienen características individuales y pueden servir mejor para diferentes tareas en el análisis de datos; esto significa que los programadores suelen utilizarlos para tareas específicas de Ciencia de datos.

Paradigma de programación

Los lenguajes de programación pueden ser orientados a objetos, funcionales o imperativos. Los lenguajes de programación orientados a objetos se modelan en torno a objetos de datos. Los lenguajes de programación funcionales se modelan en torno a funciones. Los lenguajes imperativos se modelan en torno a sentencias de código que pueden alterar el estado del propio programa.

Comparación de lenguajes de programación

Python, R, Java y C++ son cuatro de los lenguajes de programación más utilizados para el análisis de datos. El siguiente gráfico los compara utilizando cinco consideraciones: velocidad, accesibilidad, variable, enfoque de ciencia de datos y paradigma de programación.

Características por software

Python

R

Java

C++

Velocidad

Más lento

Depende de la configuración y los complementos

Más rápido

Muy rápido

Accesibilidad

Fácil de aprender

Complejo

Fácil de aprender

Complejo

Variable

Dinámico

Dinámico

Estática

Declarativo

Ciencia de datos

Aprendizaje automático y análisis automatizado

Análisis exploratorio de datos y creación de amplias bibliotecas estadísticas

Utilizado en proyectos con activos de código abierto

No tan utilizado, pero con implementaciones muy potentes

Paradigma de programación

Orientado a objetos

Lenguaje funcional

Orientado a objetos

Multiparadigma (imperativo y orientado a objetos)

Puntos clave

Existen varios lenguajes de programación que pueden utilizarse para el Análisis de datos. Cada uno tiene sus ventajas e inconvenientes. Aprender a trabajar con diferentes lenguajes le dará la oportunidad de ampliar sus conocimientos sobre datos y acceder a nuevas herramientas para su análisis. Sin embargo, en este programa de certificación, Python será su único objetivo. Como se mencionó anteriormente, Python es un lenguaje de programación orientado a objetos, fácil de aprender, que utiliza variables dinámicas; aunque a veces requiere más tiempo para ejecutarse, es una gran herramienta para el aprendizaje automático y el análisis automatizado.

lunes, 17 de noviembre de 2025

Calculo diferencial con Python

 Fuente: Gemini

¡Excelente idea! Estudiar Cálculo Diferencial con Python transforma los conceptos abstractos en herramientas prácticas, permitiéndote visualizar y manipular los temas clave. La mejor manera de hacerlo es usando la librería SymPy, que permite el cálculo simbólico.

Aquí te explico cómo puedes abordar los temas principales de Cálculo Diferencial usando Python:


1. ⚙️ Instalación y Configuración

Necesitarás las librerías SymPy (para el cálculo) y Matplotlib (para graficar):

Bash
pip install sympy matplotlib numpy

2. 📈 Límites (Introducción al Cálculo)

Puedes usar sympy para calcular límites de una función cuando una variable se acerca a un punto, incluso límites al infinito.

Ejemplo: Límite de una función

Calcular el límite de la función $f(x) = \frac{x^2 - 1}{x - 1}$ cuando $x \to 1$.

Python
from sympy import symbols, limit, oo

x = symbols('x')
f_x = (x**2 - 1) / (x - 1)

# Calcular el límite
limite_valor = limit(f_x, x, 1)

print(f"El límite de f(x) cuando x tiende a 1 es: {limite_valor}")
# Resultado: 2

3. 📉 Derivadas (El Corazón del Cálculo Diferencial)

SymPy permite derivar cualquier función de forma analítica, lo cual es útil para verificar tus resultados manuales.

Ejemplo: Derivada de un polinomio

Calcular la primera derivada de $f(x) = x^3 - 5x + 1$.

Python
from sympy import symbols, diff

x = symbols('x')
f_x = x**3 - 5*x + 1

# Calcular la primera derivada
derivada = diff(f_x, x)

print(f"La derivada de f(x) es: {derivada}")
# Resultado: 3*x**2 - 5

Aplicación: Rectas Tangentes

Puedes combinar la derivada con la evaluación de funciones para encontrar la ecuación de la recta tangente en un punto específico.


4. 🖼️ Visualización de Funciones y Derivadas

La visualización es clave. Puedes usar sympy junto con matplotlib para ver cómo se comporta la función y su derivada.

Ejemplo: Graficar Función y Derivada

Graficar $f(x) = \sin(x)$ y su derivada $f'(x) = \cos(x)$.

Python
from sympy import symbols, sin, cos, diff
from sympy.plotting import plot

x = symbols('x')
f_x = sin(x)
derivada = diff(f_x, x) # cos(x)

# Graficar ambas funciones en el mismo plano
p = plot(f_x, derivada, (x, -6, 6),
         legend=True, show=False)
p[0].line_color = 'blue'
p[1].line_color = 'red'
p[0].label = 'f(x) = sin(x)'
p[1].label = "f'(x) = cos(x)"
p.show()

5. 💡 Aplicaciones de la Derivada (Optimización)

Puedes usar sympy para encontrar puntos críticos y realizar análisis de optimización.

  1. Encontrar la Derivada ($\frac{dy}{dx}$).

  2. Igualar a Cero y resolver para $x$ (puntos críticos).

  3. Calcular la Segunda Derivada ($\frac{d^2y}{dx^2}$) y evaluarla para determinar si el punto crítico es un máximo o un mínimo.

SymPy puede realizar todos estos pasos simbólicamente, lo que te permite automatizar la parte algebraica del problema de optimización.

En resumen, para estudiar Cálculo Diferencial con Python, debes dominar:

  • SymPy: Para manipular y calcular expresiones simbólicamente (límites, derivadas).

  • Matplotlib: Para visualizar el comportamiento de las funciones y sus transformaciones.

Geometria Analitica con Python

 Fuente: Gemini

Sí, se puede estudiar y aplicar la geometría analítica utilizando Python de manera muy efectiva. Python es una herramienta excelente para visualizar, manipular y calcular conceptos de geometría analítica.


🐍 Librerías Clave para Geometría Analítica en Python

El poder de Python en este campo reside en sus librerías especializadas, las cuales permiten trabajar con vectores, matrices, ecuaciones y gráficos:

1. NumPy

  • Función: Es la librería fundamental para computación numérica. Permite manejar vectores y matrices de manera eficiente.

  • Aplicación en Geometría: Ideal para realizar operaciones básicas de geometría analítica, como:

    • Cálculo de magnitudes y direcciones de vectores.

    • Producto punto (para calcular ángulos o determinar ortogonalidad).

    • Producto cruz (para calcular vectores normales o áreas en 3D).

    • Resolver sistemas de ecuaciones lineales que definen la intersección de rectas o planos.

2. Matplotlib

  • Función: La librería más popular para visualización estática y animada.

  • Aplicación en Geometría: Es crucial para graficar:

    • Puntos, rectas y curvas en 2D.

    • Planos y figuras en 3D.

    • Visualizar transformaciones como traslaciones, rotaciones y escalados.

3. SymPy

  • Función: Permite realizar cálculo simbólico, tratando variables y expresiones algebraicas sin asignarles un valor numérico inmediatamente.

  • Aplicación en Geometría: Útil para:

    • Encontrar la ecuación de una recta o plano a partir de puntos o vectores.

    • Resolver ecuaciones para hallar puntos de intersección de forma algebraica.

    • Trabajar con secciones cónicas (parábola, elipse, hipérbola) en su forma general y canónica.

4. SciPy (Módulo linalg)

  • Función: Extiende las capacidades de NumPy con herramientas de álgebra lineal avanzada, optimización y más.

  • Aplicación en Geometría: Puede usarse para la diagonalización de matrices o el análisis de valores y vectores propios, que son fundamentales en transformaciones geométricas y análisis de cónicas.


📐 Ejemplo de Aplicación

Para graficar una recta definida por dos puntos $A(1, 2)$ y $B(5, 4)$ en Python, se usaría una combinación de NumPy y Matplotlib:

Python
>>import numpy as np
>>import matplotlib.pyplot as plt

>># Puntos
>>A = np.array([1, 2])
>>B = np.array([5, 4])

>># Graficar la recta
>>plt.plot([A[0], B[0]], [A[1], B[1]], marker='o', linestyle='-', color='blue')
>>plt.title('Representación de una Recta en 2D')
>>plt.xlabel('Eje X')
>>plt.ylabel('Eje Y')
>>plt.grid(True)
>>plt.show()

Python transforma los conceptos abstractos de la geometría analítica en problemas de computación y visualización, facilitando tanto el aprendizaje como la aplicación práctica.

 Haciendo uso de Google colab, tenemos:

 

Plan de estudios Ing. mecanica UNAL Colombia

 Fuente: Gemini.

El programa de Ingeniería Mecánica en la Universidad Nacional de Colombia (UNAL) se estructura en torno a un conjunto de áreas fundamentales que buscan formar ingenieros con una base sólida en ciencias y capacidad de desarrollo tecnológico.

El plan de estudios tiene una duración de 10 semestres y un total de 180 créditos (Aproximadamente, dependiendo de la Sede y el Acuerdo curricular vigente).

A continuación, se presenta un listado consolidado de las asignaturas obligatorias principales, agrupadas por los Componentes de Formación definidos por la UNAL.


📚 Componente de Fundamentación (Ciencias Básicas)

Estas materias proporcionan la base matemática y física esencial para la ingeniería:

Matemáticas, Probabilidad y Estadística

  • Geometría Analítica y Vectorial

  • Cálculo Diferencial

  • Cálculo Integral

  • Cálculo en Varias Variables

  • Ecuaciones Diferenciales

  • Álgebra Lineal

  • Probabilidad y Estadística

  • Métodos Numéricos

Física

  • Física-Mecánica

  • Física, Electricidad y Magnetismo

  • Física (Asignaturas Optativas/Elegibles de Profundización)

Otras Fundamentaciones

  • Química General

  • Programación de Computadores

  • Dibujo Básico / Modelamiento Gráfico en Ingeniería

  • Principios de Ingeniería Económica


⚙️ Componente Disciplinar (Núcleo de Ingeniería Mecánica)

Este componente se enfoca en las áreas centrales de la Ingeniería Mecánica, abarcando el diseño, la energía, los materiales y la manufactura.

Mecánica Aplicada y Diseño

  • Estática

  • Dinámica

  • Resistencia de Materiales / Mecánica de Sólidos

  • Mecánica Básica

  • Principios de Mecanismos

  • Diseño de Elementos de Máquinas I

  • Diseño de Elementos de Máquinas II (o Elementos de Máquinas en la Sede Medellín)

Ingeniería Térmica y Fluidos

  • Termodinámica General

  • Mecánica de Fluidos (o Fundamentos de Termofluidos)

  • Transferencia de Calor

  • Conversión de Energía en Sistemas Termofluidos

Materiales y Procesos de Manufactura

  • Ciencia de los Materiales

  • Procesos de Manufactura I (y/o Procesos de Manufactura II)

  • Laboratorio de Materiales y Fabricación (o similares)

  • Ingeniería de Manufactura

Automatización y Control

  • Modelamiento: Electromecánica (o Modelamiento de Sistemas Físicos)

  • Fundamentos de Control / Control y Automatización


🌟 Componente de Libre Elección

Este componente permite al estudiante profundizar en áreas de interés o complementar su formación. Se divide en:

  1. Optativas de Fundamentación y Disciplinares: Asignaturas específicas ofrecidas por el departamento (e.g., Turbomáquinas, Vibraciones Mecánicas, Diseño Mecatrónico, Ingeniería de Mantenimiento, Sistemas de Producción, etc.).

  2. Libre Elección: Asignaturas de cualquier otro programa curricular de la universidad (Arte, Humanidades, Administración, etc.).

  3. Trabajo de Grado: Culminación del proyecto académico.

📝 Nota importante: El listado exacto de nombres de asignaturas, códigos y la ubicación semestral (malla curricular) puede variar ligeramente entre las sedes de la UNAL (Bogotá, Medellín, Manizales), dado que cada una tiene autonomía en la organización de su plan de estudios, manteniendo la estructura fundamental obligatoria.