Ejercicio: 2Eva_2021PAOII_T1 Promedio de precipitación de lluvia en área
Los datos de la tabla corresponden a las medidas de precipitación lluviosa en cada cuadrícula. El área observada es de 300×250, los tramos horizontales 6 y los verticales 4.
Los tamaños de paso son:
h = 300/6 = 50
k = 250/4 = 62.5
i \ j | 1 | 2 | 3 | 4 | 5 | 6 |
1 | 0.02 | 0.36 | 0.82 | 0.65 | 1.7 | 1.52 |
2 | 3.15 | 3.57 | 6.25 | 5 | 3.88 | 1.8 |
3 | 0.98 | 0.98 | 2.4 | 1.83 | 0.04 | 0.01 |
4 | 0.4 | 0.04 | 0.03 | 0.03 | 0.01 | 0.08 |
Para obtener el integral doble, usando la forma compuesta de Simpson, primero desarrolla por filas.
i=1
I_1 = \frac{3}{8}(50) ( 0.02+3(0.36)+3(0.82)+0.65) + \frac{1}{3}(50) (0.65+4(1.7)+1.52) = 228.43i=2
I_2 = \frac{3}{8}(50) ( 3.15+3(3.57)+3(6.25)+5) + \frac{1}{3}(50) (5+4(3.88)+1.8) = 1077.18i=3
I_3 = \frac{3}{8}(50) ( 0.98+3(0.98)+3(2.4)+1.83) + \frac{1}{3}(50) (1.83+4(0.04)+0.01) = 276.14i=4
I_4 = \frac{3}{8}(50) ( 0.4+3(0.04)+3(0.03)+0.03) + \frac{1}{3}(50) (0.03+4(0.01)+0.08) = 14.5con los resultados, luego se desarrolla por columnas:
columnas = [ 228.43, 1077.18, 276.14, 14.5 ]
I_{total} = \frac{3}{8}(62.5) ( 228.43+3(1077.18)+3(276.14)+14.5) I_{total} = 100850.09para el promedio se divide el integral total para el área de rectángulo.
Precipitacion_{promedio} = \frac{100850.09}{(300)(250)} = 1.34Solución con algoritmo
Resultados usando algoritmos con Python:
integral por fila: [ 228.4375 1077.1875 276.14583333 14.5 ] integral total: 100850.09765625 promedio precipitación: 1.34466796875 >>>
Instrucciones con Python
# 2Eva_2021PAOII_T1 Promedio de precipitación de # lluvia en área import numpy as np def simpson_compuesto(vector,h): m = len(vector) suma = 0 j = 0 while (j+3)<m: # Simpson 3/8 f = vector[j:j+4] s = (3*h/8)*(f[0]+3*f[1]+3*f[2]+f[3]) suma = suma + s j = j + 3 while (j+2)<m: # Simpson 1/3 f = vector[j:j+3] s = (h/3)*(f[0]+4*f[1]+f[2]) suma = suma + s j = j + 2 while (j+1)<m: # Trapecio f = vector[j:j+2] s = (h/2)*(f[0]+f[1]) suma = suma + s j = j + 1 return(suma) # INGRESO A = [[0.02, 0.36, 0.82, 0.65, 1.7 , 1.52], [3.15, 3.57, 6.25, 5. , 3.88, 1.8 ], [0.98, 0.98, 2.4 , 1.83, 0.04, 0.01], [0.4 , 0.04, 0.03, 0.03, 0.01, 0.08]] base = 300 altura = 250 h = base/6 k = altura/4 # PROCEDIMIENTO A = np.array(A) [n,m] = np.shape(A) columna = np.zeros(n,dtype=float) for i in range(0,n,1): vector = A[i] integralfila = simpson_compuesto(vector,h) columna[i] = integralfila total = simpson_compuesto(columna,k) promedio = total/(base*altura) # SALIDA print('integral por fila:', columna) print('integral total:', total) print('promedio precipitación: ', promedio)