Matlab和C#之间的互操作
-
10-07-2019 - |
题
在互联网上偷看后,看起来可以在C#和Matlab之间进行互操作。我想知道是否有人取得了成功以及他们做了什么。如果可能的话,不使用COM就把它拉下来。谢谢你的时间。
解决方案
是的,很有可能。虽然我最终使用C接口并使用混合模式DLL调用它(并让C#调用它...但那是因为我还与其他一些C代码接口)。这很简单。在要运行程序的计算机上,您需要安装Matlab Runtime MCRInstaller.exe。
编辑:删除损坏的链接
其他提示
从MATLAB的R2009a版本开始,可以从MATLAB访问.NET对象:
http://www.mathworks.com/help/techdoc/matlab_external/ brpb5k6.html
在早期版本的MATLAB中,可以使用CCW从MATLAB访问.NET对象:
http://www.mathworks。 COM /支持/溶液/数据/ 1-5U8HND.html?溶液= 1-5U8HND
和.NET的MATLAB引擎:
您还可以使用MATLAB Builder NE将m代码包装到.NET程序集中。
是的,我设法做到了这一点,而且几乎没有痛苦。
您必须编译.NET的MATLAB代码(如前面的答案中所述),运行MCR安装程序,参考MWArray.dll以及.NET项目中的编译代码dll,然后离开。
唯一的烦恼是界面强迫你施放(有时是多次铸造!)(在施法操作符中使用显式)
Matlab有一个免费的开源.NET包装器,它非常简单: http://www.codeproject.com/KB/dotnet/matlabeng.aspx
我用它。
在R2009a预发布版中,您可以从MATLAB调用.net程序集。
我不确定这对您有多大影响但是请尝试查看matlab可执行文件或 MEX 基本上,用C或FORTRAN编写程序真的很容易,包括一些库和函数,然后你可以在matlab中使用C或FORTRAN函数
如果你愿意花钱,这可能就是你所需要的:
http://www.mathworks.com/products/netbuilder/
它可以为Matlab代码生成包装器,允许从.NET和COM中调用它。