Filter löschen
Filter löschen

Interface between Java and Matlab potential bottleneck?

1 Ansicht (letzte 30 Tage)
Robin
Robin am 14 Sep. 2021
Bearbeitet: Robin am 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 Kommentare
Walter Roberson
Walter Roberson am 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 am 14 Sep. 2021
Bearbeitet: Robin am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by