我的简单simulink模型运行得太快了

时间:2014-11-17 05:34:35

标签: matlab simulink stateflow

我在Matlab上设计了一个简单的simulink和stateflow图表。它完美无缺!但我有两个问题:

1)模型运行得太快。两个州之间的过渡时间非常快,我看不到。我试图改变一些参数,但我没有成功。我应该更改什么(可能在模型配置参数?),使其变慢,以便我们可以看到过渡?

2)目前我只有一个恒定的输入。如何设置一系列常量,可能是周期性的?我假设应该有一个特殊的组件。我需要,比如0时0的输入,1分1后,3时2等等?

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:1)

1)我在一些交互式模拟中遇到了同样的问题,其中CPU会使它们运行得太快而无法与用户进行交互。使用Simulink Real Time Execution Block带来了解决方案,尽管由于它使用的解决方案而导致CPU负载过重。有了这个,如果你定义一个10秒的模拟,那将是它将持续的。如果您不想承担这一负担,只需延长模拟时间,或在整个模拟过程中彻底检查示波器(在示波器中禁用点数限制,单击参数按钮,然后取消选中数据历史记录/限制数据点到最后...)

2)Simulink / Sources /重复序列。您可以定义时间向量和在该时间输出的值。请记住,块在两点之间插值,因此,如果要在T = 1s中从2更改为3,则必须定义两个点,一个U = 2,T = 1s,另一个U = 3 in T = 1秒。例如,0 in(0..1),5 in(1..2),10 in(2..3)和15 in(3..4):

Time values:   [0 1 1 2 2  3  3  4]
Output values: [0 0 5 5 10 10 15 15]

答案 1 :(得分:1)

如果您只是想检查过渡,则不需要让它变慢。您可以尝试使用Stateflow中提供的调试模式,您可以逐步了解模型的工作原理。

答案 2 :(得分:0)

减慢Stateflow动画的选项(例如,您可以更好地查看模拟过程中状态之间的过渡)位于Simulink菜单栏的显示菜单下。

在最新版本(R2014b)中,该选项位于显示 - >状态流动画下(以及模拟 - > Stateflow动画下)。 (有关详细信息,请参阅here。)

在旧版本中,它位于显示 - >模拟中的数据显示 - >图表动画延迟(秒)(但是,我不能100%确定此选项在菜单)。

请注意,您必须位于图表内,才能在菜单中启用这些选项。