Advertisement
fabimatho

Simulacion_Esfera

Oct 4th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 0.96 KB | None | 0 0
  1. #########################################################################################
  2. library("plot3D");
  3. #########################################################################################
  4. grid_size = 60;
  5. eps = 0.01;
  6. theta = seq(0+eps,pi-eps,l=grid_size);
  7. phi = seq(0,2*pi-eps,l=grid_size);
  8. coord = expand.grid(phi,theta);
  9. x = sin(coord[,2])*cos(coord[,1]);
  10. y = sin(coord[,2])*sin(coord[,1]);
  11. z = cos(coord[,2]);
  12. nsites = length(x);
  13.  
  14.  
  15. cova <- function(escala,geod){
  16.  
  17.   res = exp(-3*geod/escala);
  18.   return(res)    
  19. }
  20.  
  21. val = 0.99999999999;
  22. escala = 1;
  23. mat = array(dim=c(nsites,nsites));
  24.  
  25. for(i in 1:nsites){
  26.   for(j in 1:nsites){
  27.    
  28.     prod = x[i]*x[j]+y[i]*y[j]+z[i]*z[j];
  29.     if(prod > val){dij = 0;}
  30.     if(prod < -val){dij = pi;}
  31.     if(prod <= val & prod >= -val){dij = acos(prod);}
  32.    
  33.     mat[i,j] = cova(escala,dij);        
  34.    
  35.   }
  36. }
  37.  
  38. set.seed(8756)
  39. datos = t(chol(mat))%*%rnorm(nsites);
  40.  
  41. scatter3D(x,y,z,colvar=datos)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement