Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- x=np.array([0,1,2,3,4,5], dtype=float)
- y=np.array([0.1,0.6,1,6,-2,-3], dtype=float)
- def lagranz(x,y,t):
- z=0
- for j in range(len(y)):
- p1=1; p2=1
- for i in range(len(x)):
- if i==j:
- p1=p1*1; p2=p2*1
- else:
- p1=p1*(t-x[i])
- p2=p2*(x[j]-x[i])
- z=z+y[j]*p1/p2
- return z
- def integr(a,b,dx):
- points=np.arange(a,b,dx)
- summ=0
- for x_cur in points:
- print x_cur
- for x_cur in points:
- summ+=lagranz(x,y,x_cur)*dx
- return summ
- xnew=np.linspace(np.min(x),np.max(x),100)
- ynew=[lagranz(x,y,i) for i in xnew]
- plt.plot(x,y,'o',xnew,ynew)
- plt.grid(True)
- plt.show()
- print integr(np.min(x),np.max(x),0.1)
- print integr(0,1,0.1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement