#-------------------------------------------------
# Script per eseguire l'integrale numerico
# della funzione sin^2(x)

# GdA 1/2/2024
#-------------------------------------------------

N <- 20      # numero di intervallini (tutt'altro che 'infinito'!)   
Dx = pi/N   
xc <- seq(Dx/2, pi-Dx/2, by=Dx)
int.num <- sum( Dx * sin(xc)^2 )
plot(xc, sin(xc)^2, col='blue',cex=0.5,  xaxs = "i", yaxs = "i",
     xlim=c(0,pi), ylim=c(0, 1.05), xlab='x')
x <- seq(0, pi, len=101)
points(x,  sin(x)^2, ty='l', col='cyan')
for(i in 1:length(xc)){
    lines(c(xc[i]-Dx/2, xc[i]+Dx/2), c(1,1)*sin(xc[i])^2, col='blue', cex=1)
    lines(c(xc[i]-Dx/2,xc[i]-Dx/2), c(0,sin(xc[i])^2), col='blue', cex=1)
    lines(c(xc[i]+Dx/2,xc[i]+Dx/2), c(0,sin(xc[i])^2), col='blue', cex=1)
}
cat(sprintf("Integrale valutato numericamente usando %d intervalli: %.3f\n",
            length(xc), int.num))
