Ejercicio: 1Eva_IIT2018_T1 Interpolar velocidad del paracaidista
El ejercicio tiene dos partes: la interpolación y el integral.
Literal a
No se especifica el método a seguir, por lo que se puede seleccionar el de mayor preferencia.
Usando Lagrange, con los puntos primero, medio y último:
p_2(t) = 0\frac{(t-4)(t-8)}{(0-4)(0-8)} + + 27.77\frac{(t-0)(t-8)}{(4-0)(4-8)} + + 41.10\frac{(t-0)(t-4)}{(8-0)(8-4)} p_2(t) = 0 + 27.77\frac{t(t-8)}{-16}) + + 41.10\frac{t(t-4)}{32} p_2(t) = -1.73(t^2-8t) + 1.28(t^2-4t) p_2(t) = -0.45 t^2 + 8.72tLiteral b
El tema de integración para primera evaluación se realiza de forma analítica.
Una de las formas, independiente si resolvió el literal a, es usar los datos proporcionados en la tabla el ejercicio:
t | [s] | 0 | 2 | 4 | 6 | 8 |
---|---|---|---|---|---|---|
v(t) | [m/s] | 0.0 | 16.40 | 27.77 | 35.64 | 41.10 |
Usando el método de Simpson de 1/3, dado que los tamaños de paso en t son equidistantes se puede aplicar: h=2-0=2
\int_0^8 v(t)dt = \frac{2}{3}\Big( 0+ 4(16.40)+27.77\Big) + \frac{2}{3}\Big( 27.77+ 4(35.64)+41.10\Big) =203.2con error del orden de O(h5) que al considerar h=2 no permite hacer una buena estimación. Sin embargo la respuesta es bastante cercana si se usa el método el trapecio con el algoritmo:
v(t) = -0.45125*t**2 + 8.7475*t distancia recorrida: 202.8912640000001
El error entre los métodos es |203.2-202.89|= 0.31
Algoritmo con Python
Las instrucciones en Python para el ejercicio son:
# 1ra Evaluación II Término 2018 # Tema 1. Interpolar velocidad del paracaidista import numpy as np import matplotlib.pyplot as plt import sympy as sym # Literal a) def interpola_lagrange(xi,yi): ''' Interpolación con método de Lagrange resultado: polinomio en forma simbólica ''' # PROCEDIMIENTO n = len(xi) x = sym.Symbol('x') # Polinomio polinomio = 0 for i in range(0,n,1): # Termino de Lagrange termino = 1 for j in range(0,n,1): if (j!=i): termino = termino*(x-xi[j])/(xi[i]-xi[j]) polinomio = polinomio + termino*yi[i] # Expande el polinomio polinomio = polinomio.expand() return(polinomio) # INGRESO t = [0.0, 2, 4, 6, 8] v = [0.0, 16.40, 27.77, 35.64, 41.10] xi = [t[0],t[2],t[4]] yi = [v[0],v[2],v[4]] muestras = 51 # PROCEDIMIENTO polinomio = interpola_lagrange(xi,yi) velocidad = polinomio.subs('x','t') # Para graficar vt = sym.lambdify('t',velocidad) a = t[0] b = t[-1] ti = np.linspace(a, b, muestras) vi = vt(ti) # SALIDA print('v(t) = ', velocidad) # Grafica plt.plot(t,v,'ro') plt.plot(ti,vi) plt.title('Interpolar velocidad de paracidista') plt.xlabel('t') plt.ylabel('v') plt.show() # Literal b def integratrapecio(funcionx,a,b,tramos): h = (b-a)/tramos x = a suma = funcionx(x) for i in range(0,tramos-1,1): x = x+h suma = suma + 2*funcionx(x) suma = suma + funcionx(b) area = h*(suma/2) return(area) # INGRESO # El ingreso es el polinomio en forma lambda # se mantienen las muestras tramos = muestras-1 # PROCEDIMIENTO distancia = integratrapecio(vt,a,b,tramos) # SALIDA print('distancia recorrida: ', distancia)