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.

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?

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:
X=QX+PU.
The solution is expressed by a simple MATLAB inversion command line:
W=X/U=inv(eye(size(Q))-Q)*P
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

Good

28 Mar 2006

Ramiro Aduviri

thank you

16 Nov 2005

racky lee

nice!

03 Nov 2005

Lei Pan

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