print(intr.trap_d(x,intr.multiply(y2,y8))) print(intr.trap_d(x,intr.multiply(y8,y8))) #2nd problem a2= 0 b2 = 1 N = [10, 100, 1000] N2 = len(N) for i in range(N2): x = np.zeros(N[i]) y = np.zeros(N[i]) print("for N = " + str(N[i])) print(intr.trap(intr.lin,a2,b2,N[i])) print(intr.trap(intr.quad,a2,b2,N[i])) print(intr.trap(intr.eleventhpow,a2,b2,N[i])) print(intr.trap(intr.twelfthpow,a2,b2,N[i])) print(intr.trap(intr.exp,a2,b2,N[i])) #Gauss-Legendre quadrature n = [1, 2, 6] n2 = len(n) for k in range(n2): [x,w] = intr.gauss_leg(a2,b2,n[k]) print("for n = " + str(n[k])) print(intr.gauss_quad(intr.lin,x,w)) print(intr.gauss_quad(intr.quad,x,w)) print(intr.gauss_quad(intr.eleventhpow,x,w)) print(intr.gauss_quad(intr.twelfthpow,x,w)) print(intr.gauss_quad(intr.exp,x,w))
#!/usr/bin/env python import integrator as intr import numpy as np import matplotlib.pyplot as plt #print(intr.trap(intr.lin, 0, 1, 100)) #a = -1 #b = 1 #N = 10000 #h = (b-a) / (N-1) #x = np.zeros(N) #for i in range(N): # x[i] = a + i*h #y1 = np.zeros(N) #y2 = np.zeros(N) #y1 = intr.legendre(-1,1,x,y1,5) #y2 = intr.legendre(-1,1,x,y2,5) # #print(intr.trap_d(x,intr.multiply(y1,y2))) # #plt.plot(x,y1,x,y2) [x,w] = intr.gauss_leg(0,1,2) print(intr.trap(intr.quar,0,1,4)) print(intr.gauss_quad(intr.quar,x,w)) #plt.show()
#!/usr/bin/env python import integrator as intr import numpy as np import matplotlib.pyplot as plt #print(intr.trap(intr.lin, 0, 1, 100)) #a = -1 #b = 1 #N = 10000 #h = (b-a) / (N-1) #x = np.zeros(N) #for i in range(N): # x[i] = a + i*h #y1 = np.zeros(N) #y2 = np.zeros(N) #y1 = intr.legendre(-1,1,x,y1,5) #y2 = intr.legendre(-1,1,x,y2,5) # #print(intr.trap_d(x,intr.multiply(y1,y2))) # #plt.plot(x,y1,x,y2) [x, w] = intr.gauss_leg(0, 1, 2) print(intr.trap(intr.quar, 0, 1, 4)) print(intr.gauss_quad(intr.quar, x, w)) #plt.show()
H1 = 1 / (N1 -1) H2 = 1 / (N2 -1) H3 = 1 / (N3 -1) # rather than having a whole lot of functions I just swatched the N values for each [P1,W1] = intr.gauss_leg(0,1,n3) X1 = np.zeros(N3) Y1 = np.zeros(N3) Y2 = np.zeros(N3) Y3 = np.zeros(N3) Y4 = np.zeros(N3) Y5 = np.zeros(N3) for i in range(N3): X1[i] = H3*i Y1[i] = powr(X1[i],1) Y2[i] = powr(X1[i],2) Y3[i] = powr(X1[i],11) Y4[i] = powr(X1[i],12) Y5[i] = np.exp(X1[i]) print(intr.trap_d(X1,Y1)) print(intr.trap_d(X1,Y2)) print(intr.trap_d(X1,Y3)) print(intr.trap_d(X1,Y4)) print(intr.trap_d(X1,Y5)) print(intr.gauss_quad(intr.lin,P1,W1)) print(intr.gauss_quad(intr.quad,P1,W1)) print(intr.gauss_quad(x11,P1,W1)) print(intr.gauss_quad(x12,P1,W1)) print(intr.gauss_quad(np.exp,P1,W1))
powers = [1, 2, 11, 12] a = 0 b = 1 for k in range(len(powers)): for j in range(len(N)): m = (b - a) / (N[j] - 1) x = np.zeros(N[j]) y = np.zeros(N[j]) for i in range(N[j]): x[i] = a + m * i y[i] = intr.power(x[i], powers[k]) print(N[j], powers[k]) print(intr.trap_d(x, y)) for h in range(len(n)): [x2, w] = intr.gauss_leg(a, b, n[h]) print(N[j], powers[k], n[h]) print(intr.gauss_quad(intr.power, x2, w, powers[k])) # exp calculation for j in range(len(N)): m = (b - a) / (N[j] - 1) x = np.zeros(N[j]) y = np.zeros(N[j]) for i in range(N[j]): x[i] = a + m * i y[i] = np.exp(x[i]) print(intr.trap_d(x, y)) for h in range(len(n)): [x2, w] = intr.gauss_leg(a, b, n[h]) print(intr.gauss_quad2(np.exp, x2, w))