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] :)
>> [A,B,C,D] = fitsize(a,b,c,d);
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.
Carlos Adrian Vargas Aguilera (2020). fitsize.m v1 (Jan 2014) (https://www.mathworks.com/matlabcentral/fileexchange/44904-fitsize-m-v1-jan-2014), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!