我在C#中感觉在家,我将设计一个控制台应用程序,它将从Web服务中获取一些数据.我想允许一组科学家使用MatLab中的数据.一种实现方法是将其存储在HDD中的文件中,然后将其内容加载到MatLab中.
这让我有想法.是否可以在MatLab中创建一个调用在C#中创建的EXE的函数,所以我的科学朋友可以去:
a = GetMeSomeData()
并使用服务的响应填充变量a? (我当然会使用我的C#代码格式化数据,因此它将适合MatLab的矩阵模型.)
在开始工作之前,我已经做了一些谷歌搜索,但是我发现大部分的东西都是关于一个旧版本的MatLab(2007),它是关于创建COM对象的.
解决方法
您可以轻松地调用.NET程序集中的函数.首先你要告诉Matlab你将要使用哪个程序集:
NET.addAssembly("path//to//assembly.dll");
foo = Namespace.Class.FunctionFoo(input1,input2); bar = Namespace.Class.FunctionBar(input1,input2);
public void MultipleOut(int in1,int in2,out int out1,out int out2) { ... }
在Matlab中可以这样称呼:
[out1,out2] = Namespace.Class.MultipleOut(in1,in2);