Post Reply 
Routh Hurwitz
03-11-2016, 03:37 AM (This post was last modified: 03-11-2016 04:35 AM by Han.)
Post: #3
RE: Routh Hurwitz
Let \( p(z) = a_0 z^n + a_1 z^{n-1} + \dotsm + a_{n-1} z + a_n \) then using HM({ \( a_0, a_1, \dotsm, a_{n-1}, a_n \) }) would produce

\[ \begin{pmatrix}
a_1 & a_3 & a_5 & \dots & \dots & \dots & 0 & 0 & 0 \\
a_0 & a_2 & a_4 & & & & \vdots & \vdots & \vdots \\
0 & a_1 & a_3 & & & & \vdots & \vdots & \vdots \\
\vdots & a_0 & a_2 & \ddots & & & 0 & \vdots & \vdots \\
\vdots & 0 & a_1 & & \ddots & & a_n & \vdots & \vdots \\
\vdots & \vdots & a_0 & & & \ddots & a_{n-1} & 0 & \vdots \\
\vdots & \vdots & 0 & & & & a_{n-2} & a_n & \vdots \\
\vdots & \vdots & \vdots & & & & a_{n-3} & a_{n-1} & 0 \\
0 & 0 & 0 & \dots & \dots & \dots & a_{n-4} & a_{n-2} & a_n
\end{pmatrix} \]

The source code for the HM() program:

Code:
// Compute Hurwitz matrix of p(z)
// a[0]z^n + a[1]z^(n-1) +...+ a[n-1]z + a[n]
// by Han

// input ai := { a[0], a[1], ..., a[n] }
EXPORT HM(ai)
BEGIN
  local n:=size(ai)-1;
  local m:=makemat(0,n,n);
  local j,k,r0,r1,r;

  for j from 1 to n do
    k:=min(j-1,n-j);
    r0:=j-k; r:=j+k+1;
    k:=min(j,n-j);
    r1:=j+k;
    for k from r0 to r1 do
      m[k,j]:=ai[r];
      r:=r-1;
    end; 
  end;
  return(m);
END;

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Routh Hurwitz - KennyDang - 03-10-2016, 05:00 AM
RE: Routh Hurwitz - toshk - 03-10-2016, 09:37 PM
RE: Routh Hurwitz - Han - 03-11-2016 03:37 AM
RE: Routh Hurwitz - Han - 03-11-2016, 04:03 AM
RE: Routh Hurwitz - Brad Barton - 03-11-2016, 08:09 PM



User(s) browsing this thread: 2 Guest(s)