MATLAB: For loop from 4-D to 3-D

3-d matrix4-d matrixfor loopstrcat

yrlst = 2006:2017;
%12 years of data; each file contains daily dataset for 7 months
for i=1:length(yrlst)
year0 = yrlst(i);
fname = strcat('ice_drift_',num2str(year0),'_',num2str(year0+1), '_winter.mat')
tmp = load(fname);
long1 = tmp.long;
lat1 = tmp.lat;
u1 = tmp.uid;
v1 = tmp.vid;
flag1 = tmp.flagid;
u(i,:,:,:) = u1; %4-D file contains in the order of [12,7,145,73]

v(i,:,:,:) = v1; %4-D file contains in the order of [12,7,145,73]
flag(i,:,:,:) = flag1;
end
%However i want to save them in [12*7,145,73]

Best Answer

u=reshape(u,[],145,73);
v=reshape(v,[],145,73);