Simulink:使用多级总线信号执行数学运算

时间:2016-03-07 18:55:37

标签: simulink bus mux

我正在寻找一种方法来对多级总线信号求和 在他们的等级中的最低级别 不会丢失总线信号结构。

MWE

例如,在下面的MWE中,
总线信号自动汇总到最低级别,
但是,通过Add块后总线信号会丢失。

生成矢量信号。

MWE

我更喜欢一种产生以下方法的方法:

red + blue = purple

或更具体地说:

red.[a b c].[1 2] + blue.[a b c].[1 2] --> purple.[a b c].[1 2]

,其中

purple.b.3 = red.b.3 + blue.b.3

等等。

1 个答案:

答案 0 :(得分:0)

据我所知,使用总线信号进行数学运算的唯一可能性是使用MATLAB功能块。请注意潜在的糟糕表现!

要使用MATLAB功能块,首先生成匹配的总线对象,并确保分配两个总线创建者mer / a / b / c以输出该总线对象。这样做会收到错误,因为1和2不是有效的字段名称,我将它们更改为x1和x2。

在下一步中创建一个MATLAB功能块。 Set the two inputs and one output to your previous defined bus object。粘贴以下代码:

    private void showMaximized( VideoWindow videoWindow )
    {
        long currentStyle = videoWindow.WindowStyle;
        currentStyle = currentStyle & ~lDisableWindowStyles;
        currentStyle = currentStyle | lEnableWindowStyles;
        videoWindow.WindowStyle = (int)currentStyle;

        videoWindow.Width = 1920;
        videoWindow.Height = 1080;
        videoWindow.FullScreenMode = OATRUE;
        videoWindow.Visible = OATRUE;
    }

enter image description here