Easily compile and run a matlab function for significant speed improvements.
Updated 16 Oct 2008

View License

Newer version of Matlab let you compile Matlab code using emlmex, significantly improving the speed of certain functions, particularly those involving loops. However, the size and type of the inputs have to be fixed at compile time, limiting its use.

This function lets you compile functions dynamically at run time so that the size and types of the inputs don't have to be known before hand.

You simply call this function like you would feval:

[a,b,c] = runAndCompile('myfunc',X,Y,Z)

Note, however, that Matlab's emlmex only supports a subset of the Matlab language. This will not work with all functions and it might take some work to make functions eml compliant. See Matlab's emlmex help for details. A few minutes work, however, can save you hours or days of computer time depending on the size of the problem.

Cite As

Matt Dunham (2024). compileAndRun (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on MATLAB Compiler in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes