Code covered by the BSD License

### Highlights from samesize

5.0

5.0 | 1 rating Rate this file 11 Downloads (last 30 days) File Size: 1.55 KB File ID: #36636

# samesize

10 May 2012 (Updated )

Determine if all inputs are the same size in all dimensions.

File Information
Description

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

Acknowledgements

This file inspired Regexprepfile, Strrepfile, and Refactor Fcn Name.

MATLAB release MATLAB 7.6 (R2008a)
25 Aug 2013

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

14 May 2012

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

14 May 2012

@Jan,

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

12 May 2012

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