Advertisement
Guest User

2-01.py

a guest
Jan 20th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.08 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import scipy.integrate as integ
  4. from scipy.integrate import quad
  5. import scipy.interpolate as intrp
  6.  
  7. def func(y, x):
  8.     return -y+np.sin(100/(x**2+1))
  9.  
  10. x = np.linspace(0, 20, 1000)
  11. a0 = 5
  12. b0 = -2
  13.  
  14. #nacrtaj
  15. y_a = integ.odeint(func, a0, x)
  16. plt.plot(x, y_a, 'b--', label='y_a')
  17.  
  18. y_b = integ.odeint(func, b0, x)
  19. plt.plot(x, y_b, 'g--', label='y_b')
  20.  
  21. #integriraj
  22. f1 = intrp.interp1d(x, y_a.squeeze(), kind='quadratic')
  23. f2 = intrp.interp1d(x, y_b.squeeze(), kind='quadratic')
  24.  
  25. p1, _ = quad(f1, 0, 20)
  26. p2, _ = quad(f2, 0, 20)
  27. print(np.abs(p2-p1))
  28.  
  29. #oboji
  30. plt.fill_between(x, y_a.squeeze(), y_b.squeeze(), color='lightgreen')
  31.  
  32. x, y = np.loadtxt('rm-python_2.001.dat', unpack=True)
  33. plt.plot(x, y, 'r+')
  34.  
  35. #regresija
  36. X = np.linspace(0, 20, 1000)
  37. #za crtanje grafova, mali x ima premalo tocaka a i nije sortiran
  38.  
  39. coeff = np.polyfit(x, y, 2)
  40. f3 = np.poly1d(coeff)
  41. plt.plot(X, f3(X), '--', color='black')
  42.  
  43. coeff = np.polyfit(x, y, 3)
  44. f4 = np.poly1d(coeff)
  45. plt.plot(X, f4(X), '--', color='grey')
  46.  
  47. plt.legend()
  48. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement