Sum of matrix signals in Simulink

I am performing 'B = B +dB' in simulink. 'dB' is calculated using a matlab function block. Size of B and dB are identical and I have cross-checked it multiple times.
Size of B is 1*5.
Size of dB is also 1*5.
I am implementing like above. But I am getting the following error w.r.t. to the output of the function block. dW1 is connected to output port 3 of the function block.
This function does not fully set the dimensions of output port 3.
Please help me with this.

Answers (2)

J Chen
J Chen on 1 Apr 2020
Something wrong with the dB that comes in from Inport 2. The picture shows Inport 2 has a dimension of 1 instead of 5.

3 Comments

I have checked several times for the equations that I've used in the function block and there were no dimension mismatch.
I've even ran the equations in command window and there was no problem.
I updated the code in function block and now implementing the update equation in the function block itself. Still, I am using the delay block to update B for next iteration of simulation. The initial values that I put into delay block is of dimension 1*5, but the block is giving a column vector. Any fix for this?
Also, I am unable to perform a simple B = B' operation in the function block.

Sign in to comment.

Fangjun Jiang
Fangjun Jiang on 1 Apr 2020
In your MATLAB Function block, open the editor, click "Edit Data" icon, find the data for output 3, set the size.
Or, in your Simulink model, press ctrl+H, navigate to find the MATLAB Function block, find the data for output 3, set the size.

2 Comments

How to specify size of dimension 1*5?
Fangjun Jiang
Fangjun Jiang on 1 Apr 2020
Edited: Fangjun Jiang on 1 Apr 2020
[1 5]

Sign in to comment.

Categories

Products

Release

R2019b

Asked:

on 1 Apr 2020

Edited:

on 1 Apr 2020

Community Treasure Hunt

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

Start Hunting!