MATLAB: Zero padding a 3d structure according to maximum length

cellMATLABtensor

Hi,
I have a 1×24 cell containing tensors (3d structures) with sizes 90xYxZ. I want to pad zeros along the second dimension (Y) so that all the tensors have the same length as the maximum Y value in the cell. How can I do that?

Best Answer

Hi Uerm,
Lets call your data mycellarray. You can padd the second dimension of all tensors to have the same length as the one with the longest Y dimension as follows:
[~,b,~]=cellfun(@size,mycellarray) % get size of Y on each tensor
idx_padd=max(b)-b; % find difference from max Y dimension
for ii=1:length(mycellarray)
mycellarray{1,ii}= padarray(mycellarray{1,ii},[0 idx_padd(ii) 0],0,'post'); %padd
end