outputting bus using 'To Workspace' block

5 次查看(过去 30 天)
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

采纳的回答

TAB
TAB 2011-10-25
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

更多回答(1 个)

Clark Williams
Clark Williams 2016-3-11
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

类别

Help CenterFile Exchange 中查找有关 Event Functions 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by