Effacer les filtres
Effacer les filtres

Getting error in MEX file execution

2 vues (au cours des 30 derniers jours)
Caleb
Caleb le 26 Oct 2016
Modifié(e) : Caleb le 26 Oct 2016
I'm doing parameter tuning for an equation of state using the genetic algorithm function (ga). When I run the equation of state file as I coded it in MATLAB, it works fine. When I compile and package the file as a MEX file, it gives me the following error:
Error using
coder.internal.error (line
17)
Domain error. To compute
complex results from real x,
use 'log(complex(x))'.
Error in log (line 13)
coder.internal.error('Coder:toolbox:ElFunDomainError',mfilename);
Error in EOSfunction (line 552)
logPHI = MUres_kT - log(Z);
What could be causing this? I have checks to make sure that Z is always real and non-negative, so log(Z) should never be causing a problem.
  2 commentaires
Walter Roberson
Walter Roberson le 26 Oct 2016
As an experiment, just above that logPHI line, add
assert(Z > 0);
and see what happens.
Caleb
Caleb le 26 Oct 2016
Modifié(e) : Caleb le 26 Oct 2016
Didn't work. Here's the error statement:
Error using EOSfile (line 552)
Assertion failed.
EDIT: I guess "Assertion failed" means that Z is returning a negative number. That was the fix. Thank you, Walter

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur MATLAB Coder dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by