File Exchange

image thumbnail

bsxfun substitute

version (6.38 KB) by Douglas Schwarz
Substitute for bsxfun for older versions of MATLAB in which it is not built-in.

1 Download

Updated 17 Feb 2009

View License

This m-file and accompanying mex functions replicate the functionality of bsxfun for use in older versions of MATLAB prior to R2007a -- the first version that came with bsxfun built-in.

This code retains the important feature of not replicating any large arrays in order to perform its function.

Included is the source code for a series of mex functions that implement this functionality for several basic operators: plus, minus, times, etc. The function will work without these present albeit more slowly.

Cite As

Douglas Schwarz (2021). bsxfun substitute (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)

Paolo de Leva

An excellent "hack". A smart, fast and computationally efficient replacement for BSXFUN which allowed me to ensure backward compatibility for the latest version of the ARRAYLAB toolbox:

Two other functions, available on MATLAB Central File Exchange, do approximately the same job as Doug's submission:

They both do it less efficiently as for memory usage, by temporarily allocating a significant amount of additional memory to expand the input arrays. As for the first one (GENOP), it is also slower than this one.

On behalf of all the users of pre-R2007a MATLAB releases, thank you very much Doug.

Douglas Schwarz

Hi Wolfgang,

Yes, I am aware of that submission. It differs from mine in that it uses extra memory by expanding the input arrays until they are the same size. My submission will never do that (and might be slower as a result).


Wolfgang Schwanghart

Hi Doug,

I didn't test your submission, since I have a version of Matlab, that includes bsxfun. Yet, it came to my mind that there was a previous submission for the same purpose.

Best regards,

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

Inspired by: Generalized Array Operations

Community Treasure Hunt

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

Start Hunting!