C# matlab混合编程
工具
VS2010
matlab2015a
matlab设置
编写如下的m函数
function MyTest( n, showFlag ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here fprintf('para number : %d\n', nargin); y = rand( n , 1 ); if showFlag plot(y) end end
mex -setup
- deploytool
- 选择
library Compiler
- 添加m文件,然后在
save project
右边的框中选择.net Assembly
按照以下的图示步骤操作即可
- 选择
C#
- 新建WinForm窗口,依次添加下面的dll引用(matlab产生),并将以下的文件添加至引用中
%MatlabInstallFolder%\toolbox\dotnetbuilder\bin\win64\v2.0\MWArray.dll
- 设置项目属性,目标平台为X64
写下如下代码
Stopwatch s = new Stopwatch(); s.Start(); MyTest.MyPlot m = new MyTest.MyPlot(); m.MyTest((MWArray)100, (MWArray)1); s.Stop(); Console.WriteLine( s.Elapsed );
过了一段时间以后,C#生成了图像,如下图