Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. n = 50
  5. N = 1000
  6. m = 15
  7.  
  8. x = np.linspace(-3, 3, n)
  9. X = np.linspace(-3, 3, N)
  10.  
  11. pix = np.pi * x
  12. y = np.sin(pix) / (pix) + 0.1 * x + 0.05 * np.random.randn(n)
  13.  
  14. p = np.zeros([m * 2 + 1, n])
  15. P = np.zeros([m * 2 + 1, N])
  16. p[0] = np.ones(n)
  17. P[0] = np.ones(N)
  18. for j in range(1, m + 1):
  19. p[2 * j - 1] = np.sin(j / 2 * x)
  20. p[2 * j + 0] = np.cos(j / 2 * x)
  21. P[2 * j - 1] = np.sin(j / 2 * X)
  22. P[2 * j + 0] = np.cos(j / 2 * X)
  23. p = p.T
  24. P = P.T
  25.  
  26. t = np.dot(np.linalg.pinv(p), y)
  27. F = np.dot(P, t)
  28.  
  29. plt.plot(x, y, 'bo')
  30. plt.plot(X, F, 'g-')
  31.  
  32. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement