【发布时间】:2015-09-15 15:33:48
【问题描述】:
我正在将信号 q 输入到 MATLAB 功能块 - 例如正弦曲线(它也可能是其他东西)。我的 MATLAB Function 模块还需要信号的时间导数。在 Simulink 中,我可以这样做:
但是我想放弃 Derivative 块(为了节省空间,我的实际模型比上面的要大得多)并以某种方式直接在 MATLAB 函数中获得导数。为此,我可能需要知道q 的先前值......如果不添加内存块我无法知道。
问题:如何在不使用任何额外块的情况下在 MATLAB 函数中获取qdot(并且显然删除了上面的 Derivative 块)?
感谢您的帮助!
【问题讨论】:
-
您的意思是要“手动”根据 q 的延迟值在 Matlab 块内计算数值导数吗?坏主意。
-
不,我也想避免这种情况。我只想知道是否有一个神奇的选项可以将信号的导数传递给 MATLAB Function 块,而不必将 Derivative 块放入图中。
-
您可以使用多路复用器并将导数和信号发生器放在子系统中以节省空间。
-
输入
q是什么?你能计算出它的解析导数吗?没有“魔法”。如果您需要导数,则需要以一种或另一种方式计算导数。 -
据我所知,没有这样的事情。通过使用(去)复用器、(总线)选择器/创建器和子系统来使用适当的信号路由来处理空间问题。
标签: matlab simulink derivative