Area Elipse

area_elipse <- function(n,a,b){
  x = runif(n, -a, a)
  y = runif(n, -b, b)
  d = ((x^2)/a^2+(y^2)/b^2<=1)
  plot(x,y,  pch= 16,asp = TRUE, col=d, cex=0.1)
  abline(v=c(-a,a),h=c(b,-b), col='blue')
  area_real = pi*a*b
  area_estimada = 2*a*2*b*sum(d)/n
  pi1 = (area_estimada)/(a*b)
  print(area_real)
  print(area_estimada)
  print(pi1)
}
area_elipse(100000,2,1)

## [1] 6.283185
## [1] 6.30216
## [1] 3.15108

Area entre 2 curvas

n=100000
x = runif(n, 0, 1)
y = runif(n, 0, sqrt(1))
punt = (y<=sqrt(x) & y>=x^2)
plot(x,y, pch=16, cex=0.1, col=punt)
curve(sqrt(x), add=T, col='blue')
curve(x^2, add=T, col='blue')
abline(v=c(0,1),h=c(0,1), col='red')

area_estimada = sum(punt)/n
area_estimada
## [1] 0.33155
integrate(function(x) sqrt(x)-x^2, lower = 0, upper = 1)
## 0.3333334 with absolute error < 7.8e-05