MATLAB Answers

# Making 3d array using 2d arrays and how to do that

1 ビュー (過去 30 日間)
SWARNENDU PAL 2021 年 6 月 18 日
コメント済み: SWARNENDU PAL 2021 年 6 月 18 日
I have 438 files which are containing a 2d data. The size of the 2d data varies, sometimes the size is 215x3245 and sometimes this is 215x3246. Now my objective is to make a 3d array od 438x215x3245 or 438x215x3246. I have written the code like below :
files_jan = dir('S5P_OFFL_L2__CH4____2019*.*');
h = zeros(215,3245,438);
for j = 1:438
h(:,:,j) = ncread(files_jan(j).name,'/PRODUCT/methane_mixing_ratio'); % Note that I shifted j to the third position
end
This code is giving error,as i prelocate the data size of 215x3245x438 and sometimes the right side has a dimension of 215x3246x438. How can i solve this problem?

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

### 採用された回答

KSSV 2021 年 6 月 18 日

files_jan = dir('S5P_OFFL_L2__CH4____2019*.*');
h = zeros(215,3245,438);
for j = 1:438
temp = ncread(files_jan(j).name,'/PRODUCT/methane_mixing_ratio'); % Note that I shifted j to the third position
if size(temp,1) ~= 3245
temp = imresize(temp,[3245 438]) ;
end
h(j,:,:) = temp ;
end
##### 5 件のコメント表示非表示 4 件の古いコメント
SWARNENDU PAL 2021 年 6 月 18 日
okay I will check these things. I want to what did you write in your code. Can you please explain the if loop. I could not understand that part. Thank you.

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

### Community Treasure Hunt

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

Start Hunting!

Translated by