Simulink 函数不正确的响应

Simulink function improper response

我正在使用 simulink 功能块来模拟微分方程 xdot = -x+x^2 同时,我使用乘法器和比较器手动生成相同的函数。 两个模拟都使用积分器块来计算导数 xdot,其中积分器的初始条件设置为区间 [-0.5:0.5:0.5]

我不明白为什么我从这些相似的模拟中得到不同的反应?请注意,手动构建的模拟响应是正确的。

这里是simulink模型:diff equa model

啊哈!我懂了。看看这个(这是第一个时间步的模拟): 现在我们可以看到问题了——Fcn块不明白,那个u是一个向量!所以它只适用于向量的第一个元素!

我发现这很奇怪并查看帮助:matlab official。 我们可以看到:

u — The input to the block. If u is a vector, u(i) represents the ith element of the vector; u(1) or u alone represents the first element.

所以。我认为模型的底部可以像您想要的那样工作!