File Exchange

image thumbnail


version (1.55 KB) by Richard Crozier
Determine if all inputs are the same size in all dimensions.

1 Download

Updated 14 May 2012

View Version History

View License

samesize: takes any number of arrays of any type and returns true if
the dimensions of all the objects are the same


result = samesize(A, B, ...)


A, B etc are arrays or matrices of any type. samesize returns true if
they are all the same size in every dimension, and have the same number
of dimensions, or false otherwise

samesize returns true for zero arguments, or a single argument on the
basis that the input will definately be the same size as itself in these


astruct = struct('a',{1,2,3}); % creates a (1 x 3) struct array
anarray = [1,2,3];
acellarray = {2+6j, [1,2,3,4,5,6,7,8], 'a string'};
samesize(astruct, anarray, acellarray)

ans =

samesize(astruct, anarray', acellarray)

ans =

See also: size, ndims

Tested in R2008a and R2011a

Cite As

Richard Crozier (2021). samesize (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)


Another hint: ISEQUAL replies a scalar TRUE or FALSE, so there is no need for ALL().

Richard Crozier

@Jan, oh, and thanks for the useful review.

Richard Crozier


Actually, I see now that isequal will return false in this case, so maybe I will just get rid of the first test!


"any(diff(numdims))" is faster than "numel(unique(numdims)) > 1", but I'd omit the test for equal number of dimensions completely.

The function works as expected, the task is useful, it has a H1-line and a help text with an example and a "See also" line.

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: regexprepfile, strrepfile, refactor_fcn_name

Community Treasure Hunt

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

Start Hunting!