MATLAB Answers

Sum of matrix signals in Simulink

6 views (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.

  0 Comments

Sign in to comment.

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 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.
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