Simulink:计算MATLAB功能块内的信号导数而不需要额外的块?

时间:2015-09-15 15:33:48

标签: matlab simulink derivative

我正在将信号q输入MATLAB功能块 - 例如正弦曲线(也可能是其他东西)。我的MATLAB功能块也需要信号的时间导数。在Simulink中,我可以这样做:

enter image description here

但是我想放弃Derivative块(为了节省空间,我的实际模型比上面的要大得多)并以某种方式直接在MATLAB函数中得到导数。为此,我需要知道q的前一个值......如果没有添加内存块我就无法知道。

问题:如何在不使用任何额外块的情况下在MATLAB函数中获取qdot(并明显删除上面的Derivative块)?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不确定你是否可以在功能块中解决它,因为你需要知道q的先前值,但也许你可以通过使用延迟反馈解决这个问题,你将返回旧的值q,如下图所示。

OldQ with delay.

我不知道这是否能解决您的问题,但值得一试。 如果以这种方式使用它,您可能需要稍微测试整个模型(关于采样时间和延迟以及类似事物的同步)。