Info

This question is closed. Reopen it to edit or answer.

Does Matlab support the creation of COM components? Is that a scripting language?

1 view (last 30 days)
Hi, I need to call Matlab from GenXPro software (in which we code with Java) to calculate something and return it to the original software. To do this the first condition is that the programming language (e.g. Matlab) support the creation of COM components which is the feature of many of scripting languages. So, I would be thankful to answer my questions in the subject; I search for that, but the answers are not consistent.
Many Thanks, Jamal

Answers (1)

Guillaume
Guillaume on 4 Sep 2015
Matlab implements a COM server, so you can indeed control matlab from any software that supports instantiating COM components. it's actually well documented in the help.
However, as far as I know, Java does not natively allow you to interface with COM.
  3 Comments
Guillaume
Guillaume on 4 Sep 2015
It would have been useful if you'd linked the correct page. Anyway, this may work:
var matlab = new ActiveXObject("Matlab.Application");
matlab.PutWorkspaceData("gxptTarget", "base", gxptTarget);
matlab.PutWorkspaceData("gxptOutput", "base", gxptOutput);
matlab.PutWorkspaceData("gxptParams", "base", gxptParams);
matlab.PutWorkspaceData("gxptModelInfo", "base", gxptModelInfo);
matlab.Execute("result = somefunc(gxptTarget, gxptOutput, gxptParams, gxptModelInfo);")
return matlab.GetWorkspaceData("result", "base");

Community Treasure Hunt

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

Start Hunting!