登录论坛

查看完整版本 : Simulink中有没有办法在多个信号上使用同一组块(而不复制那些块)?


poster
2019-12-14, 20:13
我正在执行一些头部跟踪,并且得到了2个水平速度矩阵。 (矢量场分解为垂直和水平速度)。对于这些矩阵中的每一个,我都会做一些数学运算来计算实际的头部跟踪。

我的问题是,有没有一种方法可以在两个矩阵上执行该数学运算(一组块),而无需将数学运算块复制到每个信号上?

很难解释,所以这是我的模型的屏幕快照: simulink模型http://luka.s3.amazonaws.com/headtracking.png (http://luka.s3.amazonaws.com/headtracking.png)您可以看到“ complex to real-imag”块有2个输出(这是中间的一个)。均值块和积分器电路然后计算实数矩阵的磁头速度和位置(水平位置)。我想对虚矩阵(垂直方向)执行完全相同的例程。显然我可以复制这些块,但是肯定有更好的方法吗?在某种程度上,我正在寻找类似“ C”之类的“常规编程”中的循环类似物,其中代码块在不同的输入上执行了多次。



回答:

轻松重用一组块的一种方法是从中创建一个子系统 (http://www.mathworks.com/help/toolbox/simulink/ug/f4-53172.html) 。在您的情况下,您可以通过对现有块进行分组 (http://www.mathworks.com/help/toolbox/simulink/ug/f4-53172.html#f4-7371)来创建子系统 (http://www.mathworks.com/help/toolbox/simulink/ug/f4-53172.html#f4-7371) ,然后简单地复制并粘贴子系统以将其用于虚拟输出。

尽管可能更复杂,但您也可以考虑使用多路复用器信号, (http://www.mathworks.com/help/toolbox/simulink/slref/mux.html)以避免必须复制模型的某些部分。



更多&回答... (https://stackoverflow.com/questions/4853477)