gridding problems in the script
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Vadim Tambovtsev
 el 27 de Oct. de 2016
  
    
    
    
    
    Respondida: KSSV
      
      
 el 27 de Oct. de 2016
            Hello,
in the task I have an independent-of-grid "real size" set of good sand inside a volume. The task is to make gridding on this set, convert in to 100x50x50 grid, to 64x32x32 grid etc.
I managed to make this script, but the "good-sand" fractions differs a lot depending on the chosen grid, but it should be almost the same. Could you find an error in my script?

Thank you.
1 comentario
  KSSV
      
      
 el 27 de Oct. de 2016
				A is dependent on what variables? Specifically do you have x and y values for the grid?
Respuesta aceptada
  KSSV
      
      
 el 27 de Oct. de 2016
        You can reduce your A of size 100x50x50 to 64x32x32 using the following code:
%%do spatial inteprolation to reduce A spatially 
[m,n,p] = size(A) ;
x = linspace(0,1,n) ;
y = linspace(0,1,m) ;
[X,Y] = meshgrid(x,y) ;
% Reduce A spatially 
xi = linspace(0,1,32) ;
yi = linspace(0,1,64) ;
[Xi,Yi] = meshgrid(xi,yi) ;
%
Ar = zeros(64,32,p) ;
for i = 1:p
    Ar(:,:,i) = interp2(X,Y,A(:,:,i),Xi,Yi) ;
end
%%Reduce thrid dimension 
t = linspace(0,1,p) ;
ti = linspace(0,1,32) ;
Areduced = zeros(64,32,32) ;
for i = 1:64
    for j = 1:32
        Arij = squeeze(Ar(i,j,:)) ;
        Areducedij = interp1(t,Arij,ti) ;
        % replace values 
        Areduced(i,j,:) = Areducedij ;
    end
end
Areduced is your A with new dimensions of 64X32X32.
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

