C#MLApp Feval可变参数个数

时间:2015-10-02 15:43:51

标签: c# matlab reflection com

我正在使用COM组件从c#app运行Matlab代码。

在此我使用的Feval函数具有以下形式:

matlab.Feval("MatlabFunction", 1, out result, param1, param2...., paramN);

像这样传入的参数不是很理想,因为我希望有一个函数matlabExecutor可以运行任何函数但是由于Feval接受参数的方式看起来好像我需要一个包装函数每个Matlab函数。

注意:是的,我可以将数组作为参数传入,但这意味着要更改我不想特别做的所有Matlab脚本。

我快速给出了反射,但似乎无法解决如何将它与COM对象一起使用。

1 个答案:

答案 0 :(得分:0)

我真的不明白你想做什么,但这是使用cell传递参数而不需要包装器的另一种方法。它适用于常规的matlab函数,我不确定它是否适用于你的情况。

params = {param1,param2,...paramN};
% works with plot
plot(params{:});

% just a guess, it might works
matlab.Feval("MatlabFunction", 1, out result, params{:});