outputting bus using 'To Workspace' block

7 views (last 30 days)
Amardeep
Amardeep on 25 Oct 2011
Answered: Clark Williams on 11 Mar 2016
Hi everyone; I am attempting to output a bus to the workspace as a variable but am having issues. I am getting the error:
Simulink cannot determine unified dimensions dor the multiplexed signal at output port 13 of 'Block/block' because one or more of the input signals is a matrix type. Specifically, Simulink unify ( [2x2], [2x2],[2x2], [2x2],[2x2], [2x2], 2). Consequently , Simulink cannot propagate dimension information from output port 13 of 'Block/block' to input port 1 of 'Block/To Workspace4'
I cannot find references to this error message on matlab central and nothing helpful on google within the first half a dozen pages. Is there any fix you might recommend.
Regards
Amardeep

Accepted Answer

TAB
TAB on 25 Oct 2011
Simulink does not alloew a matrix signal to be feed as input to bus. One of your input comming to the bus is matrix.
You can use 'Reshape' block to conver matrix signal to a 1-D array, Column vector or Row vector. Then feed it to bus input.
Simulink Library > Math Operations > Reshape

More Answers (1)

Clark Williams
Clark Williams on 11 Mar 2016
Recent versions of MATLAB do allow matrix signals in bus, but to connect them to a To Workspace or top-level Out Port you will have to make them "non-virtual" which means you need to create a Bus Definition Structure for them. Doing so will resolve the "Simulink cannot determine unified dimensions for the multiplexed signal" error message

Community Treasure Hunt

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

Start Hunting!