gridding problems in the script

1 回表示 (過去 30 日間)
Vadim Tambovtsev
Vadim Tambovtsev 2016 年 10 月 27 日
回答済み: KSSV 2016 年 10 月 27 日
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 件のコメント
KSSV
KSSV 2016 年 10 月 27 日
A is dependent on what variables? Specifically do you have x and y values for the grid?

サインインしてコメントする。

採用された回答

KSSV
KSSV 2016 年 10 月 27 日
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 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by