File Exchange

image thumbnail


version (18.1 KB) by Mike Anthony
Automatically resizes the number of ports on a block for automatic connection.

1 Download

Updated 01 Sep 2016

View Version History

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 (2021). AutoSizeOnConnect (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (9)

Steve H.

Very Useful !
Issue found when using on blocks selected within a subsystem (R2017b). If running "AutoSizeOnConnect.m" from within subsystem, line 38 "ublks = find_system(gcs,'SearchDepth',1,'Selected','on');" will return path of subsystem along with path of selected blocks which causes the script to fail on sizing and connecting. To resolve issue, I added the following on line 39: ublks(ismember(ublks,gcs)) = []; % Remove subsystem from cell array if exists.

Lorenz Padberg

Very nice,
Something to add: Bus Creator.
When I select a certain Bus Object in the bus creator dialog I d whish it would name the signals according to the Bus Object... now I have to enter them manually..

Stephane Dauvillier

Thumbs up!

Selmane Sekkai

Jean-Baptiste Lanfrey

Congrats! it's awesome.

Mike Anthony

Hi huang,

I have not been able to replicate the issue that you describe. Are you definitely using the latest update of the files?

If you have a sample model that you could send I'd be more than happy to figure out what's going on. Thanks!


Hi, Mike Anthony.
I got a bug, which i think.
when i dislink a block to the buscreator,which i used the tool to connected, and relink it to the block normally, something unrespected happend, the buscreator resized.
hope it useful to you,and fixed the hole.


Ryan G

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: AutoSize

Community Treasure Hunt

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

Start Hunting!