data1 <- read.csv("sinpart.csv", header = T)

contador5=0


DELTAE <- function(L1,a1,b1,L2,a2,b2)
{
Lpri <- (L1+L2)/2  #  
C1 <- sqrt((a1)^2+(b1)^2) #
C2 <- sqrt((a2)^2+(b2)^2)#
C <- (C1+C2)/2#
G <- (1-(sqrt((C^7)/((C^7)+25^7))))/2#
a1pri <- a1*(1+G)#
a2pri <- a2*(1+G)#
C1pri <- sqrt((a1pri^2)+(b1^2))#
C2pri <- sqrt((a2pri^2)+(b2^2))#
Ctespri <- (C1pri+C2pri)/2#
contador1=1
contador2=1

h1pri=as.numeric(vector())
h2pri=as.numeric(vector())

  
  for(i in b1/a1pri){#para h1pri
    if (i>=0){
      h1pri[contador1]= atan(i)*(360/(2*pi)) #ESTA EN grados
    }else{
      h1pri[contador1]= atan(i)*(360/(2*pi))+360
      }
    contador1=contador1+1
    }
  
  for(i in b2/a2pri){#para h2pri
    if (i>=0){
      h2pri[contador2]= atan(i)*(360/(2*pi)) #ESTA EN grados
    }else{
      h2pri[contador2]= (atan(i)*(360/(2*pi)))+360
    }
    contador2=contador2+1
  }
  

Htespri=as.numeric(vector())
contador3=1
  for(i in h1pri-h2pri){#para Htespri
    if (abs(i)>=180){
      Htespri[contador3]= (i+(2*h2pri)+360)/2 #ESTA EN grados
    }else{
      Htespri[contador3]= (i+(2*h2pri))/2
    }
    contador3=contador3+1
  }
Te <- 1-(0.17*cos((Htespri-30)*((2*pi)/360)))+(0.24*cos((2*Htespri)*((2*pi)/360)))+(0.32*cos((3*Htespri+6)*((2*pi)/360)))-(0.2*cos((4*Htespri-63)*((2*pi)/360)))

contador4=1
deltahpri=as.numeric(vector()) 
  for(i in abs(h2pri-h1pri)){    #para deltahpri
    if (i<=180){
      deltahpri[contador4]= i #ESTA EN grados
    }else if(h2pri<h1pri[contador4]){
      deltahpri[contador4]= i+360
    }else {
      deltahpri[contador4]= i-360
    }
    contador4=contador4+1
  }

deltaLpri <- (L2-L1)
deltaCpri <- (C2pri-C1pri)
deltaHpri <- 2*sqrt(C1pri*C2pri)*(sin((deltahpri*((2*pi)/360))/2))
SC <- 1+0.045*Ctespri
SH <- 1+(0.015*Ctespri*Te)
SL <- 1+((0.015*(Lpri-50)^2)/sqrt(20+(Lpri-50)^2))
delteta <- 30*exp(-((Htespri-275)/25)^2)
RC <- 2*sqrt((Ctespri^7/((Ctespri^7)+25^7)))
RT <- -RC*sin(2*(delteta*((2*pi)/360)))
deltaE <- sqrt((deltaLpri/SL)^2+(deltaCpri/SC)^2+(deltaHpri/SH)^2+(RT*(deltaCpri/SC)*(deltaHpri/SH)))

}

Resultado <- matrix(NA, length(data1[,1]), ((length(data1[1,]))/6))

for(i in 1:(length(data1[1,])/6))
{
  L1<- data1[,1+contador5]
  L2<- data1[,4+contador5]
  a1<- data1[,2+contador5]
  a2<- data1[,5+contador5]
  b1<- data1[,3+contador5]
  b2<- data1[,6+contador5]
  
  contador5=contador5+6
  res <- DELTAE(L1,a1,b1,L2,a2,b2)
 
 
       Resultado[,i] <- res
}
## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo

## Warning in Htespri[contador3] <- (i + (2 * h2pri))/2: número de items para para
## sustituir no es un múltiplo de la longitud del reemplazo