2013-01-24 109 views
0

请参考附加的图像以了解该问题。Matlab/Simulink:如果块错误

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

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

第二输入是什么,但使用单元通过1个时刻在时间上延迟所述第一输入延迟块。 'If'模块比较2个输入。如果输入'u1'(Speed_Pulse)小于'u2'(PreviousSpeedPulse_1_old),那么在'if action'模块中,数值64被简单地添加到u1(Speed_Pulse)值。否则,输入Speed_Pulse将通过'else action'块直接传输到输出。其中一个输出使用'合并'模块传输到'Temp'(取决于'if-else')。

现在请参考下表输入和输出。

该表是在此链接:http://img521.imageshack.us/img521/8684/tablewy.png

在该表中,该值是错误的即时4和即时7.

我无法找到这种突然的输出错误的理由。

任何想法是什么问题?

+0

您可以使用Simulink调试器观察每个时间步的值吗?你能展示你如何添加64? – Navan

+0

你如何喂养输入值?获取输入时间向量与Simulink时间匹配存在问题。尝试使用Workspace块记录输入,以确保获得正确的值。 – MikeT

+0

大家好。 对不起,这是我的错误。其实我在下面使用一个框架,这是框架的错误。得到它解决。谢谢你的帮助。 – GuiccoPiano

回答

0

对不起,这是我的错。其实我在下面使用一个框架,这是框架的错误。得到它解决。谢谢你的帮助。