要创建服务器,您需要一个编程标识符(ProgID)来标识服务器。MATLAB®ProgIDs了共享和专用服务器.这些id要么特定于版本,要么独立于版本。
共享服务器的MATLAB progid是:
Matlab。应用程序
启动一个命令窗口自动化服务器,使用MATLAB的最新版本作为自动化服务器(可能不是MATLAB的最新安装版本)
Matlab。Autoserver
启动一个命令窗口自动化服务器使用最新版本的MATLAB
Matlab.Desktop.Application
启动完整的桌面MATLAB作为一个自动化服务器,使用最新版本的MATLAB
物理机的progid为:
Matlab.Application.Single
matlab.autoserver.single.
这些无关的matlab progids指定了当前注册的matlab版本。
要创建一个特定的注册MATLAB版本的实例,您可以使用version-dependentProgID。例如,Matlab.Application.7.14
创建一个MATLAB版本7.14 (R2012a)的实例。
您的客户端应用程序建立到MATLAB服务器的连接。如何创建连接取决于客户机程序的语言。有关此信息,请参阅语言文档。可能的选项包括:
C#客户端:
mlType = Type.GetTypeFromProgID(“Matlab.Application”);matlab = Activator.CreateInstance (mlType);
在哪里mlType
和马铃薯
被定义为:
public static Type mlType;公共静态对象matlab;
Visual Basic®. net客户端:
matlab = createObject(“matlab.application”)
在哪里MatLab
被定义为:
Dim MatLab作为对象
VBA客户:
设置MatLab = CreateObject(" MatLab .application")
在哪里MatLab
被定义为:
Dim MatLab作为对象
这微软®Visual Basic.NET代码使用ProgID在全桌面模式下启动MATLAB作为COM自动化服务器Matlab.Desktop.Application
.
将Dim Matlab为对象暗淡结果作为字符串Matlab = CreateObject(“matlab.desktop.application”)结果= matlab.execute(“surf(peaks)”)
并不总是需要创建一个MATLAB服务器的新实例。客户端可以使用特定于语言的命令连接到现有的MATLAB Automation服务器。例如,这个Visual Basic . net示例连接到一个现有的MATLAB服务器,然后在服务器中执行一个plot命令。
Dim H作为对象H = GetObject(,“matlab.Application”)H.execute(“plot([0 18],[7 23])”)
请注意
使用getobject.
语法,省略了第一个参数。
或者,您可以指定一个运行的MATLAB会话作为COM服务器。有关更多信息,请参见手动创建自动化服务器.
您可以使MATLAB在桌面上可见通过设置可见
财产。当可见时,MATLAB出现在桌面上,使用户能够与它交互。这对于调试等目的可能很有用。的可见
属性被启用(设置为1
默认情况下)。
当不可见时,MATLAB窗口不会出现,这阻止了与应用程序的交互。若要隐藏桌面,请设置可见
财产0
.
此Visual Basic .NET代码显示了如何禁用可见
财产。
昏暗的MatLab作为对象MatLab = CreateObject(“MatLab. application”)MatLab。可见= 0