c#可以调用matlab生成的支持.net的DLL,但是会有各种问题,而且其在运行过程中也脱离不了Matlab引擎,故,直接调用Matlab引擎更方便。
一下四种调用matlab引擎的方式参考了网上给出的方式:
第一种
MLApp.MLAppClass matlab = new MLApp.MLAppClass();
matlab.Execute("you matlab command");
第二种
MLApp.DIMLApp matlab = null;
Type matlabAppType = System.Type.GetTypeFromProgID("Matlab.Application");
matlab = System.Activator.CreateInstance(matlabAppType) as MLApp.DIMLApp;
matlab.Execute("you matlab command");
第三种
MLApp.MLApp matlab = null;
Type matlabAppType = System.Type.GetTypeFromProgID("Matlab.Application");
matlab = System.Activator.CreateInstance(matlabAppType) as MLApp.MLApp;
matlab.Execute("you matlab command");
第四种
MLApp.MLApp matlab = new MLApp.MLApp();
matlab.Execute("you matlab command");
测试了 上述方法的第三种和第四种,第四种的移植性不太好,没有采用,采用了第三种,在测试过程中,发现假若安装机安装的matlab的版本要不低于开发机所安装的matlab版本