MATLAB Answers


Mex file is faster when it is called from command but slower when it is called inside a code!!!

Asked by Aragorn_
on 8 Dec 2012

Hi everyone,

I am working on an optimization problem which needs to run my model several times and test for different constraints and cost. For this reason I need a model which can be simulated quickly. The solution which I found is to convert the model to a mex file. I have converted a part of the model to mex file... Now when I run this part alone to check if it is faster than m file, I observe that it is faster about 4 times. However, when I plug this mex file to the rest of the model, the result becomes slower....

Does any of you have an idea what can be a possible reason? Thanks in advanced, Reza

  1 Comment

Jan Simon
on 8 Dec 2012

How did you measure the timings? I do not think that anybody can guess the reasons without seeing the code.


No products are associated with this question.

1 Answer

Answer by Walter Roberson
on 8 Dec 2012

If you have a "clear all" call, get rid of it.


Is this Simulink or MATLAB directly?


The model is about a chemical reactor which contains about 1700 ode's.

Could you profile the code to determine where it is spending its time?

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!