1

我在 Matlab 上设计了一个简单的 simulink 和状态流图。它完美地工作!但我有两个问题:

1)模型运行太快。两种状态之间的转换时间快得惊人,我看不到。我试图改变一些参数,但我没有成功。我应该改变什么(也许是模型配置参数?)让它变慢,这样我们才能看到转换?

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

在此处输入图像描述

在此处输入图像描述

4

3 回答 3

1

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

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

Time values:   [0 1 1 2 2  3  3  4]
Output values: [0 0 5 5 10 10 15 15]
于 2014-11-17T06:28:09.977 回答
1

如果您只想检查转换,则无需使其变慢。您可以尝试使用 Stateflow 中提供的 Debug 模式,您可以逐步了解您的模型是如何工作的。

于 2014-11-17T06:29:59.273 回答
0

减慢 Stateflow 动画的选项(例如,您可以在仿真期间更好地查看状态之间的转换)位于Simulink 菜单栏中的Display菜单下。

在最新版本 (R2014b) 中,该选项位于 Display- >Stateflow Animation下(以及Simulation->Stateflow Animation下)。(有关更多详细信息,请参见此处。)

在旧版本中,它位于Display->Data Display in Simulation->Chart Animation Delay (sec)下(尽管我不能 100% 确定何时在菜单中移动了此选项)。

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

于 2014-11-19T18:19:51.217 回答