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?

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!