View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

4.6 | 14 ratings Rate this file 21 Downloads (last 30 days) File Size: 7.76 KB File ID: #22 Version: 1.0



Rob Walton (view profile)


08 Feb 2000 (Updated )

Mason.m uses mason's rule to simplify signal flow graphs.

| Watch this File

File Information

Mason.m uses mason's rule to simplify signal flow graphs. It takes a file describing the network and produces a symbolic equation relating a dependent output node to an independent input node.
The directory contains a comprehensive readme file and an example network file to experiment with. Mason's rule is traditionally used for control system analysis but has applications in microwave circuit design, filter design and many other areas.
(If you want to develop this code further, please find it here:


This file inspired Calculating The Data Of A Hysteresis Loop Image.

MATLAB release MATLAB 5.3.1 (R11.1)
MATLAB Search Path
Other requirements Note: Symbolic Toolbox recommended
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (15)
11 Nov 2016 SHAHIL SHAH

Thanks a lot for sharing. Very useful.

21 Aug 2016 Darwincj

Very nice, thank you!

09 Aug 2013 Arsen Arakelyan

Hi, thanks for this submission. It's really great job.

Yet, I have a question. I'm using it to calculate gains for the graphs with positive feedback loops. at the calculation step I feed network with numeric coefficients (via num2str) and the call eval(Num)/eval(Den) to obtain numerical gain. But with positive feedback loops I always get negative denumerator. Is there a way how to handle positive feedback loop properly using Masons formula?



Comment only
26 Mar 2013 Soraya

Soraya (view profile)

Very nice and clean code, thanks for making it accessible to anyone, it is a powerful tool!

02 Dec 2008 Huaichen Chen

The program is good, but too complex to understand.
We developed a simple way to solve this peoblem in our new submitted file signal_flow_graphz. Where the network description file is replaced by a connection matrix Q and an input Matrix P. The simultaneous equations of the linear system are expressed in a matrix form:
The solution is expressed by a simple MATLAB inversion command line:
Thus the calculation process is completely transparent to the user and eazier to debug or to modify. In signal_flos_graphz this command line is replaced by a function sigflow.m just for doing some check to matrices Q and P. Moreover, this method is valid to MIMO systems.

03 Apr 2008 rami dred

04 Mar 2008 Antonio Nanner

Simple to use, but very useful

11 Jan 2007 Kosta Grgurevic


28 Mar 2006 Ramiro Aduviri

thank you

16 Nov 2005 racky lee


03 Nov 2005 Lei Pan

Very nice. Just wondering if possible to contrustruct paths automatically by readling a state-flow diagram?

04 Mar 2005 aji devianto


15 Jan 2004 Salomon Luque

17 Mar 2003 Josh Weaver


30 Nov 2002 Francisco Lotufo


modifying description

16 Jul 2016 1.0

Update file in order to add BSD license and Mathwork's request.

16 Jul 2016 1.0

Added link to github copy

Contact us