创建MATLAB服务器,即将.NET程序作为客户端调用MATLAB。需要引用MATLAB类库。按照以下步骤进行:[大谦MATLAB,dqmatlab点com]
选择“项目”菜单;
从子菜单中选择“添加引用”选项;
选择“MATLAB Application Type Library”选项,如图1-1所示;
单击“确定”按钮。
图1-1 添加对MATLAB类库的引用
在VB.NET代码中,使用New方法创建服务器。
Dim objM As MLApp.MLApp
objM=New MLApp.MLApp
在VC#.NET代码中,使用new方法创建服务器。
MLApp.MLApp objM;
objM=new MLApp.MLApp();
引用MATLAB类库后,利用对象浏览器可以查看MATLAB自动化服务器中哪些方法是可用的。
以VB.NET为例,在工具条中单击对象浏览器按钮,代码窗口添加对象浏览器对应的选项卡。在左侧树形结构栏中依次打开MLApp -> MLAppClass,右侧显示MLAppClass的属性和方法。如图1-2所示。
图1-2 MATLAB类库中MLAppClass的属性和方法
也可以在Matlab后面加一点来查看MATLAB自动化方法列表。如图1-3所示。
图1-3 通过点引用查看MATLAB自动化方法列表
通过设置Visible属性,可以选择是否让服务器程序可见。可见时,服务器窗口显示在桌面上,使用户可以与服务器程序进行交互。在某些时候,例如调试时,这会很有用。不可见时,不显示服务器窗口。这样可能会使界面更干净,但也不利于与服务器程序进行交互。
默认时,Visible属性的值为1。通过设置属性值为0(不可见)或1(可见)来改变服务器应用程序窗口的可见性。下面的命令将程序窗口从桌面上消失:
Matlab.Visible=0;
手工创建自动化服务器
客户端应用程序第一次建立与服务器的连接时,Windows自动创建自动化服务器。也可以选择在启动任何客户进程以前手工创建服务器。
手工创建服务器,需要在MATLAB启动命令中使用-automation开关。在操作系统提示符处键入:
matlab -automation
也可以按照下面的步骤在每次运行MATLAB时添加开关。
在桌面上右击图标,在弹出式菜单中单击“属性”选项,打开“属性”对话框,默认时打开的是“快捷方式”选项卡。
在“目标”文本框中,在matlab.exe的目标路径后面添加-automation,请确保在文件名和-符号之间添加一个空格,例如:
"C:\Program Files\MATLAB\R2016a\bin\win64\MATLAB.exe" -automation