Advertisement
KgCro

svastara python

Jan 19th, 2020
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.47 KB | None | 0 0
  1. """
  2. Zadane su vrijednosti potrosnje vode u kubicima kroz jedan dan
  3. u jednoj zgradi
  4.  
  5. %sat,m3
  6. 1,10
  7. 4,11
  8. 6,14
  9. 9,16
  10. 11,22
  11. 13,35
  12. 17,24
  13. 19,20
  14. 22,14
  15.  
  16. Nacrtaj tocke te ih regresijom 2 stupnja opisi (za cijeli dan).
  17. Nacrtaj regresijsku liniju te je oznaci na legendi.
  18. Izracunaj koliko je ukupno vode proslo u periodu od 10h do 20h.
  19. Oboji povrsinu od 10 do 20 sati svijetloplavom bojom
  20. Pronadji kada je bio maksimalni protok i koliko je iznosio
  21. Nacrtaj maksimum.
  22.  
  23. """
  24. import scipy.integrate as scp
  25. import matplotlib.pyplot as plt
  26. import numpy as np
  27.  
  28.  
  29. data = np.loadtxt('voda.dat',comments='%',delimiter=',') # loada .dat fajl u kojem su komentari napisani iza % a razmak(delimiter) je ,
  30.  
  31. sati = data[:,0]
  32. m3 = data[:,1]
  33.  
  34. plt.plot(sati,m3,'ro')
  35. plt.xlabel('h')
  36. plt.ylabel('m3')
  37.  
  38. reg_koef = np.polyfit(sati,m3,2)
  39. reg_model = np.poly1d(reg_koef)
  40.  
  41. dan = np.linspace(0,23,100)
  42. plt.plot(dan,reg_model(dan),label='reg. 2 stupnja')
  43. plt.legend()
  44.  
  45. int1020 = scp.quad(reg_model,10,20) #scipy
  46. print ("Ukupna potrosnja vode od 10h do 20h: ", int1020[0], " m3")
  47. #NUMPY integral
  48. interval_10_20 = np.linspace(10,20,100)
  49. #numpyint1020 = np.trapz(reg_model(interval_10_20),interval_10_20)
  50. plt.fill_between(interval_10_20,reg_model(interval_10_20),\
  51.                  color='lightblue')
  52.  
  53.  
  54. def reg_model_max(dan):
  55.     return -1*reg_model(dan)
  56.  
  57. import scipy.optimize as opt
  58.  
  59. maksimum = opt.minimize(reg_model_max,15)
  60. plt.plot(maksimum.x,np.abs(maksimum.fun),'y*',markersize=10)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement