outputting bus using 'To Workspace' block

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

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)

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

Categories

Find more on Simulink in Help Center and File Exchange

Products

Asked:

on 25 Oct 2011

Answered:

on 11 Mar 2016

Community Treasure Hunt

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

Start Hunting!