I want to split 4D single data (3600*40*40*40) where 3600 is time. I want to split the data for every 36 seconds to get 100 profile containing 36 sec in each profile.

2 Ansichten (letzte 30 Tage)
I want to split 4D single data (3600*40*40*40) where 3600 is time. I want to split the data for every 36 seconds to get 100 profile containing 36 sec in each profile like for first wind data profile it will take 1-36 sec and second data profile it will take 37-72 seconds and so on. Can anyone please help me?

Antworten (1)

DGM
DGM am 7 Feb. 2022
Just put it in a cell array:
A = rand(3600,4,4,4); % test array
B = mat2cell(A,repmat(36,1,100),4,4,4)
B = 100×1 cell array
{36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double} {36×4×4×4 double}

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by