1. Lecturas de la Semana
1.1 Interpolación
http://blog.espol.edu.ec/matg1013/5-1-2-diferencias-divididas-newton/
http://blog.espol.edu.ec/matg1013/5-3-interpolacion-de-lagrange/
Revisar la sección de Recursos de estudio:
http://blog.espol.edu.ec/matg1013/recursos/formato/unidad05-interpolacion-pasos/
1.2 Matrices – métodos directos
http://blog.espol.edu.ec/matg1013/3-2-pivoteo-parcial-por-filas/
http://blog.espol.edu.ec/matg1013/3-3-gauss-metodo/
http://blog.espol.edu.ec/matg1013/3-3-1-gauss-determinante/
2. Ejercicios en Clase Paralelos 3,4,7
1Eva_IT2015_T2 Salida cardiaca
http://blog.espol.edu.ec/matg1013/1eva_it2015_t2-salida-cardiaca/
http://blog.espol.edu.ec/matg1013/s1eva_it2015_t2-salida-cardiaca/
1Eva_IT2015_T3 Temperatura en Placa
http://blog.espol.edu.ec/matg1013/1eva_it2015_t3-temperatura-en-placa/
2Eva_IIT2008_T2_MN Emisiones CO2
http://blog.espol.edu.ec/matg1013/2eva_iit2008_t2_mn-emisiones-co2/
3. Algoritmos de taller
# Polinomios de interpolación # Perfil de pato volando # usa archivo matg1013 creado en taller import numpy as np import matplotlib.pyplot as plt import sympy as sym import matg1013 as numericos # INGRESO # Perfil Superior del pato xiA = [0.9, 1.3, 1.9, 2.1, 2.6, 3.0, 3.9, 4.4, 4.7, 5, 6.0, 7.0, 8.0, 9.2, 10.5, 11.3, 11.6, 12.0, 12.6, 13.0, 13.3] fiA = [1.3, 1.5, 1.85, 2.1, 2.6, 2.7, 2.4, 2.15, 2.05, 2.1, 2.25, 2.3, 2.25, 1.95, 1.4, 0.9, 0.7, 0.6, 0.5, 0.4, 0.25] #primera parte del perfil desde1 = 0 hasta1 = 6 xi1 = np.copy(xiA[desde1:hasta1]) fi1 = np.copy(fiA[desde1:hasta1]) # PROCEDIMIENTO # Para generar el polinomio de Lagrange x = sym.Symbol('x') polinomio1 = numericos.interpola_lagrange(xi1,fi1) px1 = sym.lambdify(x,polinomio1) # para graficar el polinomio a1 = np.min(xi1) b1 = np.max(xi1) muestras1 = 51 xni1 = np.linspace(a1,b1,muestras1) pni1 = px1(xni1) # SALIDA print('rango de existencia: ', [desde1,hasta1]) print(polinomio1) plt.plot(xni1,pni1, label = 'p1(x)') plt.plot(xiA,fiA,'o') plt.title('perfil del pato volando') plt.xlabel('xi') plt.ylabel('fi') plt.legend() plt.show()
Funciones desarrolladas
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 i = 0 while not(i>=n): # Termino de Lagrange termino = 1 j = 0 while not(j>=n): if (j!=i): termino = termino*(x-xi[j])/(xi[i]-xi[j]) j=j+1 polinomio = polinomio + termino*yi[i] i = i+1 # Expande el polinomio polinomio = polinomio.expand() return(polinomio) def pivoteafila(A): ''' Pivotea por filas, Pivoteo parcial Recibe la matriz A, copia en C para no modificar A Si hay ceros en diagonal, la matriz es singular, Tarea: Revisar si diagonal tiene ceros ''' tamano = np.shape(A) n = tamano[0] m = tamano[1] C = np.copy(A) i=0 while not(i>=(n-1)): # columna desde diagonal i en adelante columna = np.abs(C[i:,i]) dondemax = np.argmax(columna) # revisa dondemax no está en la diagonal if (dondemax != 0): # intercambia fila temporal = np.copy(C[i,:]) C[i,:] = C[dondemax+i,:] C[dondemax+i,:] = temporal i=i+1 return(C)
4. Tarea
Realizar los polinomios que sean necesarios para describir el perfil de la mascota indicada para cada paralelo:
Paralelo 3: http://blog.espol.edu.ec/matg1013/mascota-descansando/
Paralelo 4: Perfil Superior del pato http://blog.espol.edu.ec/matg1013/pato-en-pleno-vuelo/
Paralelo 7: Perfil inferior posterior http://blog.espol.edu.ec/matg1013/pato-en-pleno-vuelo/
Enviar los archivos .py, .png, .txt. El archivo.txt debe contener para cada tramo:
– rango de existencia
– polinomio obtenido