fitsize.m v1 (Jan 2014)

Forces arrays to have the same size by replications of the singleton dimensions.
Updated 3 Jan 2014

View License

Yes, now there exist ARRAYFUNC and others functions that automatically expand the singleton dimensions of the inputs, but they don't work correctly with multiple arrays of different sizes. Besides, you don't get the expanded arrays, only the result.

So, this FITSIZE function expands your arrays so they all have the same size, and then you can use it in any function you want.

If the arrays sizes cannot be fitted like in
size(x) = [1 2 3]
size(y) = [4 2 5] :(
where the last dimension are non-singleton and different, and ERROR is thrown.

One should have something like
size(a) = [1 2 1]
size(b) = [4 2 5]
size(c) = [4 1]
size(d) = [1 2] :)
and with
>> [A,B,C,D] = fitsize(a,b,c,d);
you'll get
size(A) = [4 2 5]
size(B) = [4 2 5]
size(C) = [4 2 5]
size(D) = [4 2 5].

Because it uses REPMAT, it supports different inputs types like numerics, structures, chars, cells, etc.

Finally, when a single output is used, all fitted arrays are packed in a cell, like in the screenshot.

Enjoy it!

Cite As

Carlos Adrian Vargas Aguilera (2024). fitsize.m v1 (Jan 2014) (, MATLAB Central File Exchange. Retrieved .

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

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes