Effacer les filtres
Effacer les filtres

Interface between Java and Matlab potential bottleneck?

1 vue (au cours des 30 derniers jours)
Robin
Robin le 14 Sep 2021
Modifié(e) : Robin le 14 Sep 2021
I am optimizing a Simulink Model using several algorithms and I would like to test them in terms of speed. The Matlab scripts used for this are driven by java.
The Problem is: I can see the plots of the optimization being done, the algorithms seem to be completed (f.e. because of maximum iterations) but the java console goes on for a very long time, printing the matlab console output. I suspect that the character stream has to be processed and this does not happen faster via the Matlab Java interface. Is there any way to fix this? I don't need the console output, which is why I also already use the following code to perform the function evaluation.
eng.feval(0, "SIMOptimization", NULL_WRITER, NULL_WRITER);
  2 commentaires
Walter Roberson
Walter Roberson le 14 Sep 2021
I wonder if it would help to use an evalc() level, something like
eng.feval(0, "evalc(SIMOptimization);", NULL_WRITER, NULL_WRITER);
Robin
Robin le 14 Sep 2021
Modifié(e) : Robin le 14 Sep 2021
Good idea, but SIMOptimization is a script and sadly thats why evalc() seems not to work here, or am i missing something?
EDIT: After searching the forum i came to the idea to create a separate script calling "evalc('SIMOptimization');" and java calls this script. And what can I say, it seems to work wonderfully! Thank you very much for this thought thrust.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Tags

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by