Example #1
0
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))
 
Example #2
0
#!/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()
Example #3
0
#!/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()
Example #4
0
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))
Example #5
0
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))