Automatically resizes the number of ports on a block for automatic connection.
Updated 1 Sep 2016

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

In many cases, Simulink® users have multiple blocks that they wish to connect to a block, particularly mux, demux, and bus creator blocks. The current practice is to drag one of these blocks from the Simulink library browser into the model. The mux block, for example, by default has 2 input ports. If you have 4 blocks that you wish to connect, you must open the mask of the mux block and set the number of inputs to 4. This will then create 4 input ports on the mux block. The user can then select the 4 blocks he/she wishes to connect to the mux block, hold CTRL, and select the mux block to automatically connect all of the blocks.
This function eliminates the manual step of opening the mask and setting the number of desired inports/outports and does that automatically based on the number of blocks the user selected to try to connect.

Open the included Simulink model AutoSizeOnConnect.mdl and follow the instructions therein to see an example of how to use this function.

This functional is especially useful when used in conjunction with AutoSize, which is included in this submission but can also be downloaded separately (see Acknowledgements below).

Cite As

Mike Anthony (2024). AutoSizeOnConnect (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Block Libraries in Help Center and MATLAB Answers

Inspired by: AutoSize

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Updated license

Update that I think fixes the bug that huang reported. This fix also reduces the number of function calls and should improve performance as well.

Fixes error if no blocks are selected.

Update to work with Scope blocks!

Updates to handle blocks with multiple inports/outports.

Updated AutoSizeOnConnect.m to handle Multiple Input blocks with 'NumInputs' property (like the VectorConcatenate block)

added acknowledgement reference.

Updated references, updated screenshot, and fixed minor typos in the files.