gridding problems in the script

2 vues (au cours des 30 derniers jours)
Vadim Tambovtsev
Vadim Tambovtsev le 27 Oct 2016
Réponse apportée : KSSV le 27 Oct 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 commentaire
KSSV
KSSV le 27 Oct 2016
A is dependent on what variables? Specifically do you have x and y values for the grid?

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 27 Oct 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.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by