Skip to Content

Visualización 1 — Área bajo f(t)=tf(t) = t

Vamos a comenzar con una función muy sencilla: f(t)=tf(t) = t.

Para cada valor de xx, acumulamos el área bajo la curva desde a=5a = -5 hasta xx. Esa acumulación se convierte en una nueva función F(x)F(x) que, como vimos en clase, se puede calcular exactamente:

F(x)=5xtdt=x2252F(x) = \int_{-5}^x t\,dt = \frac{x^2 - 25}{2}

Como pueden ver, esta función acumulada es un polinomio cuadrático. La visualización siguiente les permitirá mover el valor de xx y observar cómo cambia el valor de F(x)F(x), y qué área está acumulando esa función.

import numpy as np import matplotlib.pyplot as plt from ipywidgets import interact, FloatSlider # Función f(t) = t def f(t): return t # Dominio de integración a = -5 b = 5 x_vals = np.linspace(a, b, 500) # Función acumulada: F(x) = ∫_a^x t dt = (1/2)(x^2 - a^2) def F(x): return 0.5 * (x**2 - a**2) # Función para graficar def plot_tfc_part1(x): fig, axs = plt.subplots(1, 2, figsize=(14, 5)) # Gráfico 1: Área bajo f(t) = t desde a hasta x t_vals = np.linspace(a, b, 500) axs[0].plot(t_vals, f(t_vals), label=r'$f(t) = t$', color='blue') t_fill = np.linspace(a, x, 300) axs[0].fill_between(t_fill, 0, f(t_fill), color='lightblue', alpha=0.6) axs[0].axvline(x, color='gray', linestyle='--') axs[0].set_title(r'Área bajo $f(t) = t$ desde $a$ hasta $x$') axs[0].set_xlabel('t') axs[0].set_ylabel('f(t)') axs[0].legend() axs[0].grid(True) axs[0].set_xlim(a, b) # Gráfico 2: F(x) y su recta tangente en x axs[1].plot(x_vals, F(x_vals), label=r'$F(x) = \int_{-5}^x t\,dt$', color='green') axs[1].scatter([x], [F(x)], color='red', zorder=5, label=r'$F(x)$') # Recta tangente en x: pendiente = f(x) = x slope = f(x) x_tangent = np.linspace(x - 1, x + 1, 100) y_tangent = F(x) + slope * (x_tangent - x) axs[1].plot(x_tangent, y_tangent, '--', color='orange', label='Tangente en $x$') axs[1].axvline(x, color='gray', linestyle='--') axs[1].set_title(r'Función $F(x)$ y su tangente') axs[1].set_xlabel('x') axs[1].set_ylabel('F(x)') axs[1].legend() axs[1].grid(True) axs[1].set_xlim(a, b) plt.tight_layout() plt.show() # Mostrar valores numéricos print(f"Área bajo la curva f(t)=t entre {a} y {x:.2f}: {F(x):.4f}") print(f"Valor de F({x:.2f}) = {F(x):.4f}") # Llamada interactiva interact(plot_tfc_part1, x=FloatSlider(value=0.0, min=a, max=b, step=0.1, description='x'))

¿Qué observar en las gráficas?

  • A medida que aumenta xx, el área acumulada bajo la curva también aumenta, y eso se refleja en el valor de F(x)F(x).
  • La pendiente de la recta tangente a la gráfica de F(x)F(x) es exactamente igual al valor de f(x)f(x) en ese punto.
  • Si se dan cuenta, no estamos calculando ninguna derivada ni ninguna integral en el código — simplemente estamos rellenando el área bajo la curva con fill_between, y graficando cómo eso se convierte en una nueva función. ¡Y eso es precisamente lo que es una integral!

Visualización 2 — Área bajo f(t)=cos(t)f(t) = \cos(t)

Ahora vamos a observar una función que ya conocen bien: f(t)=cos(t)f(t) = \cos(t). La función acumulada que se genera al integrar desde a=0a = 0 hasta xx es:

F(x)=0xcos(t)dt=sin(x)F(x) = \int_0^x \cos(t)\,dt = \sin(x)

Lo interesante de esta función es que la pendiente de la tangente en F(x)F(x) puede ser positiva, negativa o incluso cero. Esto nos ayuda a visualizar con claridad cómo la pendiente depende directamente del valor de f(x)=cos(x)f(x) = \cos(x).

import numpy as np import matplotlib.pyplot as plt from ipywidgets import interact, FloatSlider # Función f(t) = cos(t) def f(t): return np.cos(t) # Dominio de integración a = 0 b = 2 * np.pi x_vals = np.linspace(a, b, 500) # Función acumulada: F(x) = ∫_a^x cos(t) dt = sin(x) - sin(a) def F(x): return np.sin(x) - np.sin(a) # Función de graficado def plot_tfc_cos(x): fig, axs = plt.subplots(1, 2, figsize=(14, 5)) # Gráfico 1: Área bajo f(t) = cos(t) desde a hasta x t_vals = np.linspace(a, b, 500) axs[0].plot(t_vals, f(t_vals), label=r'$f(t) = \cos(t)$', color='blue') t_fill = np.linspace(a, x, 300) axs[0].fill_between(t_fill, 0, f(t_fill), color='lightblue', alpha=0.6) axs[0].axvline(x, color='gray', linestyle='--') axs[0].set_title(r'Área bajo $f(t) = \cos(t)$ desde $0$ hasta $x$') axs[0].set_xlabel('t') axs[0].set_ylabel('f(t)') axs[0].legend() axs[0].grid(True) axs[0].set_xlim(a, b) # Gráfico 2: F(x) = sin(x), con tangente axs[1].plot(x_vals, F(x_vals), label=r'$F(x) = \int_0^x \cos(t)\,dt$', color='green') axs[1].scatter([x], [F(x)], color='red', zorder=5, label=r'$F(x)$') # Recta tangente en x: pendiente = cos(x) slope = f(x) x_tangent = np.linspace(x - 0.5, x + 0.5, 100) y_tangent = F(x) + slope * (x_tangent - x) axs[1].plot(x_tangent, y_tangent, '--', color='orange', label='Tangente en $x$') axs[1].axvline(x, color='gray', linestyle='--') axs[1].set_title(r'Función $F(x)$ y su tangente') axs[1].set_xlabel('x') axs[1].set_ylabel('F(x)') axs[1].legend() axs[1].grid(True) axs[1].set_xlim(a, b) plt.tight_layout() plt.show() # Mostrar valores numéricos print(f"Área bajo la curva f(t)=cos(t) entre 0 y {x:.2f}: {F(x):.4f}") print(f"Valor de F({x:.2f}) = {F(x):.4f}") # Llamada interactiva interact(plot_tfc_cos, x=FloatSlider(value=np.pi, min=a, max=b, step=0.1, description='x'))

¿Qué observar en las gráficas?

  • El valor de F(x)F(x) crece cuando f(x)=cos(x)>0f(x) = \cos(x) > 0, y decrece cuando cos(x)<0\cos(x) < 0.
  • En los puntos donde cos(x)=0\cos(x) = 0, la tangente es horizontal — esto ocurre, por ejemplo, en x=π2x = \frac{\pi}{2} y x=3π2x = \frac{3\pi}{2}.
  • Esto refuerza la idea de que la pendiente de F(x)F(x) está completamente determinada por el valor de la función original f(x)f(x).

Visualización 3 — Área bajo f(t)=etf(t) = e^t

Ahora vamos a observar una función que crece de manera exponencial: f(t)=etf(t) = e^t.

La función acumulada desde a=1a = -1 hasta xx es:

F(x)=1xetdt=exe1F(x) = \int_{-1}^x e^t\,dt = e^x - e^{-1}

Como f(x)=exf(x) = e^x siempre es positiva y creciente, podemos esperar que F(x)F(x) también crezca y que su pendiente aumente cada vez más rápido.

import numpy as np import matplotlib.pyplot as plt from ipywidgets import interact, FloatSlider # Función f(t) = e^t def f(t): return np.exp(t) # Dominio de integración a = -1 b = 3 x_vals = np.linspace(a, b, 500) # Función acumulada: F(x) = ∫_a^x e^t dt = e^x - e^a def F(x): return np.exp(x) - np.exp(a) # Función de graficado def plot_tfc_exp(x): fig, axs = plt.subplots(1, 2, figsize=(14, 5)) # Gráfico 1: Área bajo f(t) = e^t desde a hasta x t_vals = np.linspace(a, b, 500) axs[0].plot(t_vals, f(t_vals), label=r'$f(t) = e^t$', color='blue') t_fill = np.linspace(a, x, 300) axs[0].fill_between(t_fill, 0, f(t_fill), color='lightblue', alpha=0.6) axs[0].axvline(x, color='gray', linestyle='--') axs[0].set_title(r'Área bajo $f(t) = e^t$ desde $-1$ hasta $x$') axs[0].set_xlabel('t') axs[0].set_ylabel('f(t)') axs[0].legend() axs[0].grid(True) axs[0].set_xlim(a, b) # Gráfico 2: F(x) = e^x - e^{-1}, con tangente axs[1].plot(x_vals, F(x_vals), label=r'$F(x) = \int_{-1}^x e^t\,dt$', color='green') axs[1].scatter([x], [F(x)], color='red', zorder=5, label=r'$F(x)$') # Recta tangente en x: pendiente = f(x) = e^x slope = f(x) x_tangent = np.linspace(x - 0.5, x + 0.5, 100) y_tangent = F(x) + slope * (x_tangent - x) axs[1].plot(x_tangent, y_tangent, '--', color='orange', label='Tangente en $x$') axs[1].axvline(x, color='gray', linestyle='--') axs[1].set_title(r'Función $F(x)$ y su tangente') axs[1].set_xlabel('x') axs[1].set_ylabel('F(x)') axs[1].legend() axs[1].grid(True) axs[1].set_xlim(a, b) plt.tight_layout() plt.show() # Mostrar valores numéricos print(f"Área bajo la curva f(t)=e^t entre {a} y {x:.2f}: {F(x):.4f}") print(f"Valor de F({x:.2f}) = {F(x):.4f}") # Llamada interactiva interact(plot_tfc_exp, x=FloatSlider(value=0.0, min=a, max=b, step=0.1, description='x'))

¿Qué observar en las gráficas?

  • La función F(x)F(x) crece rápidamente, y su pendiente (la tangente) también se hace cada vez más pronunciada.
  • Esto se debe a que f(x)=exf(x) = e^x es una función creciente.
  • Esta visualización resalta cómo el comportamiento de F(x)F(x) está totalmente guiado por f(x)f(x).

Visualización 4 — Área bajo f(t)=1tf(t) = \frac{1}{t}

En esta última visualización vamos a trabajar con f(t)=1tf(t) = \frac{1}{t}, una función que tiene una forma muy particular: crece lentamente y nunca toca el eje horizontal.

La función acumulada desde a=0.1a = 0.1 hasta xx es:

F(x)=0.1x1tdt=ln(x)ln(0.1)F(x) = \int_{0.1}^x \frac{1}{t}\,dt = \ln(x) - \ln(0.1)

Esta función es especialmente interesante porque el crecimiento de F(x)F(x) es logarítmico, y eso significa que aunque el área bajo la curva sigue aumentando, lo hace cada vez más lento.

import numpy as np import matplotlib.pyplot as plt from ipywidgets import interact, FloatSlider # Función f(t) = 1/t def f(t): return 1 / t # Dominio de integración a = 0.1 b = 2 x_vals = np.linspace(a, b, 500) # Función acumulada: F(x) = ln(x) - ln(a) def F(x): return np.log(x) - np.log(a) # Función de graficado def plot_tfc_log(x): fig, axs = plt.subplots(1, 2, figsize=(14, 5)) # Gráfico 1: Área bajo f(t) = 1/t desde a hasta x t_vals = np.linspace(a, b, 500) axs[0].plot(t_vals, f(t_vals), label=r'$f(t) = \frac{1}{t}$', color='blue') t_fill = np.linspace(a, x, 300) axs[0].fill_between(t_fill, 0, f(t_fill), color='lightblue', alpha=0.6) axs[0].axvline(x, color='gray', linestyle='--') axs[0].set_title(r'Área bajo $f(t) = \frac{1}{t}$ desde $0.1$ hasta $x$') axs[0].set_xlabel('t') axs[0].set_ylabel('f(t)') axs[0].legend() axs[0].grid(True) axs[0].set_xlim(a, b) # Gráfico 2: F(x) = ln(x) - ln(a), con tangente axs[1].plot(x_vals, F(x_vals), label=r'$F(x) = \int_{0.1}^x \frac{1}{t} \, dt$', color='green') axs[1].scatter([x], [F(x)], color='red', zorder=5, label=r'$F(x)$') # Recta tangente en x: pendiente = 1/x slope = f(x) x_tangent = np.linspace(max(x - 0.2, a), min(x + 0.2, b), 100) y_tangent = F(x) + slope * (x_tangent - x) axs[1].plot(x_tangent, y_tangent, '--', color='orange', label='Tangente en $x$') axs[1].axvline(x, color='gray', linestyle='--') axs[1].set_title(r'Función $F(x)$ y su tangente') axs[1].set_xlabel('x') axs[1].set_ylabel('F(x)') axs[1].legend() axs[1].grid(True) axs[1].set_xlim(a, b) plt.tight_layout() plt.show() # Mostrar valores numéricos print(f"Área bajo la curva f(t)=1/t entre {a} y {x:.2f}: {F(x):.4f}") print(f"Valor de F({x:.2f}) = {F(x):.4f}") # Llamada interactiva interact(plot_tfc_log, x=FloatSlider(value=1.0, min=a, max=b, step=0.01, description='x'))

¿Qué observar en las gráficas?

  • Aunque f(x)=1xf(x) = \frac{1}{x} decrece, su área acumulada sigue aumentando — pero cada vez más lentamente.
  • La curva de F(x)F(x) se aplana progresivamente, mostrando cómo el crecimiento de ln(x)\ln(x) es mucho más lento que el de una función polinómica o exponencial.
  • Esta visualización es útil para ver cómo el comportamiento de f(x)f(x) impacta directamente la forma de la curva acumulada F(x)F(x).
Last updated on