Advertisement
Guest User

Numerical Analysis

a guest
Nov 23rd, 2010
1,323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. import Spline
  2. import Lagrange
  3. import numpy as np
  4. import matplotlib as mpl
  5. mpl.use("TkAgg")
  6. import matplotlib.pylab as plt
  7. plt.ion()
  8.  
  9. #runMode = 'error'
  10. runMode = 'normal'
  11.  
  12. #Function setup
  13. x = lambda n: np.linspace(-1,1,n)
  14. f = lambda x: np.cos(np.sin(np.pi*x))
  15. n = 5
  16. E=200
  17. data = zip(x(n),f(x(n)))
  18.  
  19. #Function in solid black line
  20. if runMode == 'normal':
  21.     plt.plot(x(E),f(x(E)),'k')
  22.  
  23. #Cubic Splines in red dashed line
  24. splines,xn = Spline.Splines(data)
  25. SX,SY = Spline.splinesToPlot(splines,xn,E)
  26. if runMode == 'normal':
  27.     plt.plot(SX,SY,'r--')
  28. else:
  29.     eSY = [abs(SY[i]-f(X)) for i,X in enumerate(SX)]
  30.     plt.semilogy(SX,eSY,'r--')
  31.  
  32. #Langrange Polynomial in solid blue line
  33. LX=x(E)
  34. LY = Lagrange.LagrangeInterp(data, LX)
  35. if runMode == 'normal':
  36.     plt.plot(LX,LY,'b')
  37. else:
  38.     eLY = [abs(LY[i]-f(X)) for i,X in enumerate(LX)]
  39.     plt.semilogy(LX,eLY,'b')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement