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

Posted

技术标签:

【中文标题】如何从 C 调用在 MATLAB 中创建并在 C 中编译的函数?【英文标题】:How can I invoke from C a function created in MATLAB and compiled in C? 【发布时间】:2013-11-05 15:18:09 【问题描述】:

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

mcc-B cpplib: getTeta getTeta.m

而 getTeta.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创建的函数。有什么想法吗?

【问题讨论】:

曾经在这里不知道如何调用用C创建的函数。 首先,您发布的不是C函数。这是一个 step by step instruction set,它将引导您使用 Matlab 原生工具完成一个非常简单的 Matlab 到 C 的转换。 (代码生成) 您有一个选择是直接从 C 调用 Matlab 引擎。您可以在 mathworks.co.uk/help/matlab/matlab_external/… 开始阅读此内容 【参考方案1】:

您可以尝试使用 MATLAB 编码器包中的ceval。

【讨论】:

以上是关于如何从 C 调用在 MATLAB 中创建并在 C 中编译的函数?的主要内容,如果未能解决你的问题,请参考以下文章

导出在 Blender 中创建并在 libgdx 中使用的 fbx 对象的选项

MATLAB中如何建立一个Mat文件

如何在Windows系统中创建并使用Git仓库

从 C 调用 MATLAB

如何从 GTK+2 C 代码中调用 matlab/octave 函数

如何从 Matlab C API 调用 engClose() 并等待其进程关闭?