File Exchange

## samesize

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

Updated 14 May 2012

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

Syntax

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

Description

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
cases.

Example

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 =
1

samesize(astruct, anarray', acellarray)

>>
ans =
0

Tested in R2008a and R2011a

### Cite As

Richard Crozier (2021). samesize (https://www.mathworks.com/matlabcentral/fileexchange/36636-samesize), MATLAB Central File Exchange. Retrieved .

Jan

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

@Jan,

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

Jan

"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