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

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

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)

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

BobH implicit addition indeed exists in MATLAB
It does, starting with R2016b. If it's not working, a possibility is that the OP is using an older version and is seeing correct behavior for that version. Rubem, what version are you using?
I'm using R2019a, on Linux (Mint). When I run your example, It works correctly. However, in Simulink it doesn't happen.
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!