setwd("C:/Users/Sérgio/Documents/Nossos Artigos/Ambiental/Artigo_Informação") # Calculo da distribuição probabilidade com um mes de dados: # Dados a cada meia hora: data <- read.csv('T34 SGabriel Jun2008.txt',header = TRUE) ndat <- nrow(data) print(nrow(data)) #print(data$T) xs <- seq(1,nrow(data),by=1) ns <- seq(1,5,by=1) #plot(xs,data$Rn) ns[1] <- 50 ns[2] <- 100 ns[3] <- 200 ns[4] <- 500 ns[5] <- 1000 # DETERMINA VALORES MÁXIMOS E MÍNIMOS DOS DADOS: vHmin <- data$T[1] vHmax <- data$T[1] for (j in 1:ndat){ if(data$T[j] > vHmax) vHmax <- data$T[j] if(data$T[j] < vHmin) vHmin <- data$T[j] } for (m in 1:5){ deltavH <- (vHmax - vHmin)/ns[m] PDT <- hist(data$T,seq(vHmin,vHmax,deltavH),prob=TRUE) #print(PDT) #print(PDT$density) #print(PDT$breaks[3]) # Calculo da entropia de informação diária: inf <- 0.0 #print(data$T[5]) #print(PDT$breaks[5]) # NORMALIZAÇÃO DA DISTRIBUIÇÃO DE PROBABILIDADE: jMax <- (vHmax - vHmin)/deltavH #numero de intervalos no histograma #print (jMax) Area <- 0 for (j in 1:jMax) { #print (PDT$density[j]) Area <- Area + PDT$density[j] } #FIM DA NORMALIZAÇÃO # CÁLCULO DA ENTROPIA DE SHANNON: for(j in 1 :jMax){ prob <- PDT$density[j]/Area if(prob!=0.0) inf <- inf - prob*(log(prob)) } infn <- inf/log(ns[m]) print(ns[m]) print(inf) print(infn) } # for m