1. Ejercicio - Área bajo arco del cicloide
Referencia: Stewart 14.2 Ejemplo 3 p651
Encuentre el área bajo uno de los arcos de la cicloide
x = r(\theta - \sin(\theta)) y = r(1 - \cos(\theta))en el intervalo de un arco 0 \leq \theta \leq 2\pi

2. Desarrollo Analítico
Como la variable de integración es diferente a la coordenada de posición x,y, por ser curva paramétrica, se usa la regla de la sustitución
Area = \int_{0}^{2\pi}y dx = \int_{0}^{2\pi}y \frac{dx}{dt}dt = \int_{0}^{2\pi} r(1 - \cos(\theta)) r(1-\cos(\theta)) d\theta = \int_{0}^{2\pi} r^2 ( 1 - \cos(\theta))^2 d\theta = r^2 \int_{0}^{2\pi} \left( 1 - 2\cos(\theta) + \cos ^2 (\theta)\right) d\theta = r^2 \int_{0}^{2\pi} \left( 1 - 2\cos(\theta) + \frac{1}{2}(1+\cos(2\theta)) \right) d\theta = r^2 \left( \int_{0}^{2\pi} \frac{3}{2} d\theta - \int_{0}^{2\pi} 2\cos(\theta) d\theta + \int_{0}^{2\pi}\frac{1}{2}\cos(2\theta) d\theta \right) = r^2 \left( \frac{3}{2} \theta - 2\sin (\theta) + \frac{1}{4}\sin(2\theta)\right) \Big|_0^{2\pi} = r^2 \left( \frac{3}{2} 2\pi\right) = 3\pi r^23. Algoritmo con Sympy de Python
Curvas paramétricas, Areas
dxdt =
r⋅(1 - cos(t))
ydx =
2 2
r ⋅(1 - cos(t))
ydx_0 =
2 2 2 2
r ⋅cos (t) - 2⋅r ⋅cos(t) + r
I_ydx =
2 2 ⎛t sin(t)⋅cos(t)⎞ 2
r ⋅t + r ⋅⎜─ + ─────────────⎟ - 2⋅r ⋅sin(t)
⎝2 2 ⎠
Area =
2
3⋅π⋅r
# Ejercicio Steward 10.2 Ejemplo3 p651
# integrales con sympy
import numpy as np
import sympy as sym
# INGRESO
t = sym.Symbol('t')
r = sym.Symbol('r')
fx = r*(t-sym.sin(t))
fy = r*(1-sym.cos(t))
a = 0 # intervalo entre [a,b]
b = 2*sym.pi
r0 = 1
muestras = 9
titulo = 'Curvas paramétricas, Areas'
# PROCEDIMIENTO
# Integrales, formula Sympy
dxdt = sym.diff(fx,t,1) # dx/dt
ydx = fy*dxdt # fy*dx dentro de integral
ydx_0 = sym.expand(ydx) # como terminos suma
I_ydx = sym.integrate(ydx_0,t) # integrado por evaluar
Area = sym.integrate(ydx_0,(t,a,b)) # integrado con intervalo
# formulas Numpy
fx = fx.subs(r,r0)
fy = fy.subs(r,r0)
fx = sym.lambdify(t,fx)
fy = sym.lambdify(t,fy)
b = float(b.subs(sym.pi,np.pi))
# SALIDA
print(titulo)
print('dxdt','=')
sym.pprint(dxdt)
print('ydx','=')
sym.pprint(ydx)
print('ydx_0','=')
sym.pprint(ydx_0)
print('I_ydx','=')
sym.pprint(I_ydx)
print('Area','=')
sym.pprint(Area)
4. Gráfica con Python
# GRAFICA ---------------------
import matplotlib.pyplot as plt
# suavizar la curva
muestras_graf = 4*muestras
tk = np.linspace(a,b,muestras_graf)
xk = fx(tk)
yk = fy(tk)
dt = tk[1]-tk[0]
yk0 = np.zeros(muestras_graf)
plt.plot(xk,yk,label='f(x)') # suave
plt.fill_between(xk,yk,yk0) # Area
# entorno de grafica
plt.axhline(0,color='gray')
plt.axvline(0,color='gray')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.title(titulo)
plt.tight_layout()
plt.show()