【问题标题】:Matlab/Simulink: If block errorMatlab/Simulink:如果块错误
【发布时间】:2013-03-01 23:54:30
【问题描述】:

请参考以下链接中的图片以了解问题。

图片在此链接:http://www5.picturepush.com/photo/a/12014483/img/12014483.jpg)

这里有 2 个输入:1.Speed_Pulse 2.PreviousSpeedPulse_1_old

第二个输入只不过是第一个输入使用单位延迟块在时间上延迟了 1 个时刻。 'If' 块比较两个输入。如果输入“u1”(Speed_Pulse)小于“u2”(PreviousSpeedPulse_1_old),则在“if action”块中,将值 64 简单地添加到 u1(Speed_Pulse)值。否则,输入 Speed_Pulse 通过“其他操作”块直接传输到输出。使用“Merge”块将其中一个输出传输到“Temp”(取决于“if-else”)。

现在,请参阅下表的输入和输出。

表格在这个链接:http://img521.imageshack.us/img521/8684/tablewy.png

在表格中,瞬间4和瞬间7的值是错误的。

我找不到这个突然错误输出的原因。

知道出了什么问题吗?

【问题讨论】:

  • 您可以使用 Simulink 调试器观察每个时间步的值吗?你能展示一下你是如何添加 64 的吗?
  • 您如何输入输入值?让输入时间向量与 Simulink 的时间匹配存在问题。尝试使用 to Workspace 块记录输入,以确保您获得正确的值。
  • 大家好。对不起,这是我的错。实际上我在它下面使用了一个框架,这是框架的错误。解决了。感谢您的帮助。

标签: matlab simulink


【解决方案1】:

对不起,这是我的错误。实际上我在它下面使用了一个框架,这是框架的错误。解决了。感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多