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

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)

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

Dear Guillaume,
Thank you very much for your quick reply. Actually, I am not that good at programming and specifically how an ActiveX control works, but need to use Matlab for my research as well as the above sofware (GenXPro). This link explains how we can customise calculation of a fitness metric externally within GenXPro by calling a code from VB. I have not used VB but can work with Matlab to some extent, what I need to know is how can I call Matlab from GenXpro i.e. what code I can use instead of the short code in the beginning of the link please.
Thanks for your time in advance, Jamal
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");
I really appreciate it. Please let me try it and get back to you.
Cheers, Jamal

This question is closed.

Asked:

on 4 Sep 2015

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!