from pylab import * #xy0 = np.loadtxt('H2.py') ##################################################################################################### # Funcoes que corrigem erros de arredondamento def fix1(y, x): for k in arange(1, (len(y)-1)): if y[k] == 0: if y[k-1] and y[k+1] != 0: y[k] = y[k-1] def fix2(y, x): for k in arange(1, (len(y)-1)): if y[k] == 0: if y[k-1] and y[k+1] != 0: if y[k-1] == y[k+1]: y[k] = y[k-1] else: y[k] = (y[k+1]+y[k-1])/2 ##################################################################################################### def montaperfil( xy , step, modo): u = 0. yu = 0. profundidade = arange(0, max(xy[:,0]), step) concent = profundidade*0 if modo == 'step': for i in xy: for j in arange (u, i[0], step): if j>max(xy[:,0])/2 : concent[math.ceil(j/step)] = i[1] else : concent[math.floor(j/step)] = i[1] u = i[0] fix1(concent, profundidade) if modo == 'reta': for i in xy: for j in arange (u, i[0], step): if j>max(xy[:,0])/2 : concent[math.ceil(j/step)] = yu + (j-u)*(i[1] - yu)/(i[0] - u) else : concent[math.floor(j/step)] = yu + (j-u)*(i[1] - yu)/(i[0] - u) u = i[0] yu = i[1] fix2(concent, profundidade) print concent plot(profundidade, concent) show()