Sum of matrix signals in Simulink

1 view (last 30 days)
Nishant Kumar
Nishant Kumar on 1 Apr 2020
Edited: Fangjun Jiang on 1 Apr 2020
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
Nishant Kumar
Nishant Kumar on 1 Apr 2020
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?
Nishant Kumar
Nishant Kumar on 1 Apr 2020
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
Nishant Kumar
Nishant Kumar on 1 Apr 2020
How to specify size of dimension 1*5?

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!