0

我目前正在使用这个初步代码:

static void Main(string[] args)
{
    try
    {
    Type matlabtype;
    matlabtype = Type.GetTypeFromProgID("matlab.application");

    object matlab;
    matlab = Activator.CreateInstance(matlabtype);

    Execute(matlabtype, matlab, "clear;");
    Execute(matlabtype, matlab, "path(path,'H:/bla/bla');");
    Execute(matlabtype, matlab, "Object = ClassName();");
    Execute(matlabtype, matlab, "Object.parameter1 = 100;");
    Execute(matlabtype, matlab, "Object.parameter2 = 300;");
    object o = Execute(matlabtype, matlab, "Object.ComputeSomething()");
    }
    catch (Exception e)
    {

    }
}

要创建特定类的对象,设置一些属性并计算一些东西。这里:

计算东西();

返回一个标量。

我只是想知道这是否是最好的编程方法,以及在不使用字符串操作(例如删除 ans =)的情况下获得实际标量值的最简洁方法是什么?

谢谢。

基督教

4

1 回答 1

0

您可以使用一些命令从 matlab 中检索数据。要获得标量,您可以调用 GetVariable。

Execute(matlabtype, matlab, "result = Object.ComputeSomething()");
GetVariable(matlabtype, matlab, "result", "base")

有关可用调用,请参阅调用 MATLAB COM 自动化服务器

于 2013-05-30T13:06:31.420 回答