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 vues (au cours des 30 derniers jours)
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?

Réponses (1)

DGM
DGM le 7 Fév 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}

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by