我可以从 Matlab 调用 Python 并为其生成 C 代码吗?

Can I call Python from Matlab and generate C code for it?

让我们考虑一下这个简单的 Matlab 脚本:

p=py.list([1,2,3])
disp(py.len(p))

这会打印 3 .

是否可以为此脚本生成 C 代码?

当您说 "generate C code from this script" 时,我假设您是在问是否可以使用 MathWorks 代码生成产品(例如 MATLAB Coder)将此脚本转换为 C 代码。

如果是,则否 - MATLAB Coder 将 MATLAB 代码转换为 C,并且它仅将 MATLAB 语言的一个子集转换为 C。涵盖了大部分 MATLAB 语言,但有一些值得注意的例外,并呼吁Python 就是其中之一。我不确定您是否希望能够将 Python 本身转换为 C 代码,或者您是否只是希望生成调用 Python 的 C 代码 -但两者都不可能。

当然可以

  1. (手动)将Python代码转换为MATLAB,然后使用MATLAB Coder从MATLAB
  2. 生成C代码

  1. (手动)将Python代码转换为C代码,让MATLAB调用C代码。