Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Zadane su vrijednosti potrosnje vode u kubicima kroz jedan dan
- u jednoj zgradi
- %sat,m3
- 1,10
- 4,11
- 6,14
- 9,16
- 11,22
- 13,35
- 17,24
- 19,20
- 22,14
- Nacrtaj tocke te ih regresijom 2 stupnja opisi (za cijeli dan).
- Nacrtaj regresijsku liniju te je oznaci na legendi.
- Izracunaj koliko je ukupno vode proslo u periodu od 10h do 20h.
- Oboji povrsinu od 10 do 20 sati svijetloplavom bojom
- Pronadji kada je bio maksimalni protok i koliko je iznosio
- Nacrtaj maksimum.
- """
- import scipy.integrate as scp
- import matplotlib.pyplot as plt
- import numpy as np
- data = np.loadtxt('voda.dat',comments='%',delimiter=',') # loada .dat fajl u kojem su komentari napisani iza % a razmak(delimiter) je ,
- sati = data[:,0]
- m3 = data[:,1]
- plt.plot(sati,m3,'ro')
- plt.xlabel('h')
- plt.ylabel('m3')
- reg_koef = np.polyfit(sati,m3,2)
- reg_model = np.poly1d(reg_koef)
- dan = np.linspace(0,23,100)
- plt.plot(dan,reg_model(dan),label='reg. 2 stupnja')
- plt.legend()
- int1020 = scp.quad(reg_model,10,20) #scipy
- print ("Ukupna potrosnja vode od 10h do 20h: ", int1020[0], " m3")
- #NUMPY integral
- interval_10_20 = np.linspace(10,20,100)
- #numpyint1020 = np.trapz(reg_model(interval_10_20),interval_10_20)
- plt.fill_between(interval_10_20,reg_model(interval_10_20),\
- color='lightblue')
- def reg_model_max(dan):
- return -1*reg_model(dan)
- import scipy.optimize as opt
- maksimum = opt.minimize(reg_model_max,15)
- plt.plot(maksimum.x,np.abs(maksimum.fun),'y*',markersize=10)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement