s3Eva2026PAOI_T3 Área entre recorrido y eje x desplazado

Ejercicio: 3Eva2026PAOI_T3 Área entre recorrido y eje x desplazado

literal a

El ejercicio se puede plantear a partir del polinomio obtenido en el tema anterior

También se puede plantear a partir del número de muestras de las funciones x(t), y(t)

Se presenta la opción primera, usando el resultado del polinomio que del desarrollo del anterior para el primer tramo es:

p_3(x) = 2.0 - 4.61880215351701 x + 3.46410161513775 x^2-0.577350269189626x^3
Trayectoria paramétrica de objeto, área cubierta entre recorrido y eje x desplazado

El eje x se desplaza 2 unidades hacia arriba, por lo que el polinomio resta 2 unidades:

f(x) = p(x) - 2 f(x) = - 4.6188 x + 3.4641 x^2 - 0.5773 x^3

Como se dispone de la función a lo lago del eje x, se procede a usar el método de cuadratura de Gauss, completando al mismo tiempo el literal 3. También como la gráfica es simétrica se realizará solo para la mitad del intervalo, pues la otra mitad es la imagen.

Intervalo en x es de [2,4]

literal b

x_a = \frac{b+a}{2} - \frac{b-a}{2}\left(\frac{1}{\sqrt{3}} \right) x_a = \frac{4+2}{2} - \frac{4-2}{2}\left(\frac{1}{\sqrt{3}} \right) = 2.42265 x_b = \frac{b+a}{2} + \frac{b-a}{2}\left(\frac{1}{\sqrt{3}} \right) x_b = \frac{4+2}{2} + \frac{4-2}{2}\left(\frac{1}{\sqrt{3}} \right) = 3.57735

donde se evalúa la función en xa y xb

f(2.42265) = - 4.6188 (2.42265) + 3.4641 (2.42265)^2-0.5773(2.42265) ^3 = 0.93248 f(3.57735) = - 4.6188 (3.57735) + 3.4641 (3.57735)^2-0.5773(3.57735)^3 =1.37692

con lo que el valor aproximado del integral con 2 puntos es:

con lo que el resultado aproximado del integral se convierte en:

I \cong \frac{b-a}{2}(f(x_a) + f(x_b))

con lo que el resultado aproximado del integral se convierte en:

I \cong \frac{4-2}{2}(0.93248 + 1.37692) = 2.3094

El valor del integral es el mismo con signo negativo para el intervalo [0,2].

Lo que cumple con la separación por segmento positivo y negativo

literal c

La cota de error de truncamiento para el ejercicio usando la tabla es del orden de f(4)(x). Siendo la función un polinomio de grado 3, el error es casi cero al desaparecer los términos con la 3ra derivada.

Nota: observar el ejercicio si el grado del polinomio es mayor a 3.

literal d

Factores Gauss-Legendre puntos: 2
xgl: [-0.57735  0.57735]
cgl: [1.0, 1.0]
tabla por intervalos [a,b]
[a,b] : [2. 4.]
xi : [2.42265 3.57735]
fi : [0.93248 1.37692]
area : 2.309401076758377
Integral:  2.309401076758377
pista Seguidor Linea Tramo 01 Area Polinomio grado 3

Algoritmo en Python

Usando como base el algoritmo de la unidad de integración para cuadratura de Gauss de dos puntos se presenta:

# Integración: Cuadratura de Gauss de 2 puntos
# modelo con varios tramos entre [a,b]
import numpy as np
 
# INGRESO
fx = lambda x: -4.61880215351701*x + 3.46410161513775*(x**2)-0.577350269189626*(x**3)
a = 2 # intervalo de integración
b = 4
tramos = 1  # subintervalos a integrar
precision = 5 # decimales en tabla
 
# PROCEDIMIENTO
# cuadratura de 2 puntos
n_puntos = 2
xgl = np.array([-1/np.sqrt(3), 1/np.sqrt(3)],dtype=float)
cgl = [1.,1.]
# cuadratura de n_puntos, fórmulas Gauss-Legendre
#xgl, cgl = np.polynomial.legendre.leggauss(2)
 
x_h = np.linspace(a,b,tramos+1)
tabla = {}
suma = 0
for k in range(0,tramos,1):
    a = x_h[k]
    b = x_h[k+1]
    centro = (a+b)/2
    mitad = (b-a)/2
    xa = centro + xgl[0]*mitad
    xb = centro + xgl[1]*mitad
 
    area = ((b-a)/2)*(cgl[0]*fx(xa) + cgl[1]*fx(xb))
    tabla[k]= {'[a,b]': np.array([a,b]),
               'xi': np.array([xa,xb]),
               'fi': np.array([fx(xa),fx(xb)]),
               'area':area
               }
    suma = suma + area
 
# SALIDA
np.set_printoptions(precision)
print('Factores Gauss-Legendre puntos:',n_puntos)
print('xgl:',xgl)
print('cgl:',cgl)
print('tabla por intervalos [a,b]')
for k in range(0,tramos,1):
    for entrada in tabla[k]:
        print(entrada,':',tabla[k][entrada])
print('Integral: ', suma)

# GRAFICA -------------
# concepto con 'pocos' tramos/segmentos
import matplotlib.pyplot as plt
 
titulo = 'Cuadratura Gauss-Legendre puntos:'+str(n_puntos)
 
a = np.min(x_h); b = np.max(x_h)
muestras_k = tramos*10+1 # fx suave en grafico
xk = np.linspace(a,b,muestras_k)
fk = fx(xk)
 
# tramos marcas de división
for i in range(0,tramos+1,1):
    plt.axvline(x_h[i],linestyle='dashed',
                color='tab:gray')
for k in range(0,tramos,1):
    xi = tabla[k]['xi']
    fi = tabla[k]['fi']
    for i in range(0,n_puntos,1):
        plt.vlines(xi[i],0,fi[i],
                   linestyle='dotted',
                   color='gray')
        plt.plot(xi[i],fi[i],'o',color='gray')
if n_puntos>2:
    plt.fill_between(xk,0,fk,color='tab:olive')
if n_puntos==2: # recta trapecio
    for k in range(0,tramos,1):
        xi = tabla[k]['xi']
        fi = tabla[k]['fi']
        df = (fi[1]-fi[0])/(xi[1]-xi[0]) # pendiente
        f0 = fi[0] + df*(x_h[k]-xi[0])   # en xi[i]
        f1 = fi[0] + df*(x_h[k+1]-xi[0]) # en xi[i+1]
        plt.fill_between([x_h[k],x_h[k+1]],
                         0,[f0,f1],
                         color='tab:olive')
        plt.plot([x_h[k],x_h[k+1]],[f0,f1],
                 linestyle='dashed',color='orange')
# linea fx
plt.plot(xk,fk, label='f(x)', color = 'blue')
plt.title(titulo)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.legend()
plt.tight_layout()
plt.show()

literal e

Realizado junto a los literales anteriores.

Queda de tarea realizar usando muestras usando el intervalo de tiempo y las expresiones con x(t), y(t)


Ejemplos por año