据我所知,stateflow和simulink经常同时使用,它们都是MathWorks开发的环境,MathWorks是Matlab的开发人员我能知道他们之间有什么不同吗?

最佳答案

Simulink很大程度上是一个面向控件的解决方案它以图形化的方式描述数学,如积、和、积分等。然而,它的条件逻辑功能是缺乏的在我看来,任何一种if结构都很快变得简洁和难以管理我见过很多模型,这里有一条清晰的线,Simulink应该结束,Stateflow应该开始。
Stateflow非常好地处理逻辑,当然还有状态机现在,通过在Stateflow中添加Simulink功能块,我们有了一个强大的组合,允许Stateflow中的状态机指导程序的其余部分。
就功能而言,它们在功能上都是完整的,这意味着任何可以用C编写的代码,都可以用Simulink或Stateflow编写不过,我不建议在Stateflow中编写PID循环,但这是可能的你也可以很容易地在Simulink中创建一个状态机,但我建议你不要这样做。
至于代码生成,在meld的开始,Stateflow和Simulink有单独的代码生成器,它们在代码生成时与更多Simulink生成的C代码缝合在一起然后是CGIR(代码生成中介表示),它统一了Stateflow和Simulink之间的代码生成器它出现在2007年左右,并继续带来业绩的大幅增长生成的代码在目标性能上有所提高,以至于公司可以在其嵌入式系统中使用这些代码,并实际获得性能优势,而不是受到小的影响另外,生成代码的时间也大大减少了CGIR是目标语言编译器的替代品,但是,不要担心,TLC API仍然可用,对于那些开发了大量专有代码生成库库的人来说,它可能永远可用。
希望这有帮助,让我知道如果有什么听起来可疑或我需要澄清。

08-25 07:57