简短回答:号 真实的问题是:你为什么要这么做黄金参考(如果你想要的话,设计)是代码生成的模型,它是一个单向系统。如果你想改变设计,改变模型,重新生成代码。这就是它的设计和工作方式,而不是相反。 然而,您可以将C代码(函数)集成到Simulink模型legacy code tool中,但这与您所要求的练习不同。您还可以使用MATLAB函数块和coder.ceval命令从Simulink模型调用外部C代码,有关详细信息,请参阅文档中的Integrate C Code Using the MATLAB Function Block。
在这方面有一些研究like this one,但我知道的任何方法都试图将一般的c代码转换为模型。我所听说过的“最好”的性能是一个准备使用的,不再可用的原型,它产生了令人难以置信的巨大的simulink模型的一些c代码行。 为了在您的用例中有任何实际用途,需要一个能够识别原始模型块的转换器。这样的软件不存在。
4条答案
按热度按时间wf82jlnq1#
简短回答:号
真实的问题是:你为什么要这么做黄金参考(如果你想要的话,设计)是代码生成的模型,它是一个单向系统。如果你想改变设计,改变模型,重新生成代码。这就是它的设计和工作方式,而不是相反。
然而,您可以将C代码(函数)集成到Simulink模型legacy code tool中,但这与您所要求的练习不同。您还可以使用MATLAB函数块和
coder.ceval
命令从Simulink模型调用外部C代码,有关详细信息,请参阅文档中的Integrate C Code Using the MATLAB Function Block。olmpazwi2#
在这方面有一些研究like this one,但我知道的任何方法都试图将一般的c代码转换为模型。我所听说过的“最好”的性能是一个准备使用的,不再可用的原型,它产生了令人难以置信的巨大的simulink模型的一些c代码行。
为了在您的用例中有任何实际用途,需要一个能够识别原始模型块的转换器。这样的软件不存在。
lztngnrs3#
你可以试试Modelify。
Modelify是一个新的工具,可以将遗留的C代码转换为Simulink模型。Modelify不是逐字转换,而是将低级逻辑从C转换为Simulink中的高级结构。
Website Link
myzjeezk4#
如@am304所述,将C代码转换为Simulink模型是违反直觉的。如果您要将C代码与Simulink模型集成,则可以通过“C Function block”使用Simulink提供的功能。
有关此工作流的更多详细信息,请访问:Integrate C code with Simulink using C Function block