File Exchange

image thumbnail

fitsize.m v1 (Jan 2014)

Forces arrays to have the same size by replications of the singleton dimensions.

0 Downloads

Updated 03 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!

Comments and Ratings (0)

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