C++ 如何从C调用在MATLAB中创建并在C中编译的函数?

C++ 如何从C调用在MATLAB中创建并在C中编译的函数?,c++,c,matlab,matlab-compiler,C++,C,Matlab,Matlab Compiler,我的问题是: 我必须从C程序执行复杂的计算,但这似乎是不可能的。所以我想从C中使用MATLAB。我发现可以使用MATLAB命令将MATLAB函数编译为C: mcc-B cpplib: getTeta getTeta.m 而geteta.m是: function teta = getTeta(P,phi,tetaviejo,y) landa=0.98; Kn=P*phi*inv(landa+phi'*P*phi); teta=tetaviejo+Kn*(y'-phi'*t

我的问题是: 我必须从C程序执行复杂的计算,但这似乎是不可能的。所以我想从C中使用MATLAB。我发现可以使用MATLAB命令将MATLAB函数编译为C:

mcc-B cpplib: getTeta getTeta.m
而geteta.m是:

function teta = getTeta(P,phi,tetaviejo,y)
    landa=0.98;
    Kn=P*phi*inv(landa+phi'*P*phi);
    teta=tetaviejo+Kn*(y'-phi'*tetaviejo);
return

一旦到了这里,我就不知道如何调用C中创建的函数。有什么想法吗?

你可以尝试使用MATLAB编码器包。

一旦到了这里,我就不知道如何调用C中创建的函数。首先,你发布的不是C函数。下面是一个示例,它将引导您使用Matlab本机工具完成非常简单的Matlab到C的转换。(codegen)您可以选择直接从C调用Matlab引擎。您可以从