How to sum matrix of different size on Simulink? (R2019a)

4 views (last 30 days)
I have this block in my system:
The expected behavior is to perform as it's done on Matlab.
However, I receive this error:
How can I solve this problem?
PS1: I know that it seems pretty stupid. But maybe I'm pretty stupid.
PS2: I searched. Really.

Accepted Answer

Rubem Pacelli
Rubem Pacelli on 20 Apr 2020
Edited: Rubem Pacelli on 9 Aug 2020
I found out what is going on. It turns out that there is a specific block to sum a vector along a multidimensional matrix. These blocks are called:
Array-Vector add
Array-Vector subtract
Array-Vector multiply
Array-Vector divide
It can do any basic operations that I was looking for.
  1 Comment
Carel
Carel on 29 Sep 2022
It should be noted that this requires the DSP Toolbox.
I imagine you would be able to use the simple math blocks if you can make them have the same size, but using repmat in matlab function block in simulink gives different results than using it in a .m so I haven't been able to figure out a way yet

Sign in to comment.

More Answers (1)

BobH
BobH on 17 Mar 2020
The dimensions must agree, in MATLAB.
Z = zeros(400,32);
O = ones(1,32);
Z+O;
Error using +
Matrix dimensions must agree.
O = ones(400,32);
r = Z+O;
size(r)
ans =
400 32
  4 Comments
Rubem Pacelli
Rubem Pacelli on 18 Mar 2020
Edited: Rubem Pacelli on 18 Mar 2020
I'm using R2019a, on Linux (Mint). When I run your example, It works correctly. However, in Simulink it doesn't happen.
madhan ravi
madhan ravi on 18 Mar 2020
BobH if you could see in each thread of the question there is a specific field named Release for the OPs to fill in the version they use.

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!