23.01.2015 Views

Download - Wolfram Research

Download - Wolfram Research

Download - Wolfram Research

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.8 Pole/Zero Analysis 331<br />

Estimate the number of<br />

remaining terms.<br />

In[9]:= ComplexityEstimate[sbgp2]<br />

Out[9]= 4<br />

Show complexity of<br />

original system.<br />

In[10]:= ComplexityEstimate[eqs]<br />

Out[10]= 132<br />

The result shows that the algorithm has eliminated the two high-frequency poles and has approximated<br />

the low-frequency pole p near s ⩵ by zero. On the contrary, the pole p has been preserved,<br />

and its numerical value lies in the specified tolerance region. In addition, the complexity of<br />

the characteristic polynomial has been greatly reduced. Therefore, we can expect to obtain an<br />

interpretable formula for p .<br />

Compute the<br />

approximated<br />

characteristic polynomial.<br />

In[11]:= detp2 = Det[GetMatrix[sbgp2]] // Together<br />

Out[11]=<br />

C2 R1 R2 s beta$Q1 C2 R1 RE s beta$Q1 C2 R2 RE s <br />

beta$Q1 C1 C2 R1 R2 RE s 2 R1 R2 Rbe$Q1 RC RE<br />

Solve for the poles. In[12]:= sbgpoles = Solve[detp2 == 0, s]<br />

Extract the pole of interest.<br />

Out[12]=<br />

R1 R2 beta$Q1 R1 RE beta$Q1 R2 RE<br />

s 0, s <br />

<br />

beta$Q1 C1 R1 R2 RE<br />

In[13]:= p2 = s /. Last[sbgpoles] // Simplify<br />

1<br />

R1 1<br />

R2 1<br />

<br />

beta$Q1<br />

<br />

RE<br />

Out[13]= <br />

C1<br />

Next, we try to extract the right-half plane zero z near s ⩵ ⨯ .<br />

Approximate the equations<br />

with respect to z .<br />

In[14]:= sbgz3 = ApproximateDeterminant[eqs, V$5, 2.0*^8, 0.05,<br />

GEPSolver −> GeneralizedEigensystem]<br />

Out[14]= DAEAC, 10 10 <br />

Compute the remaining<br />

zeros numerically.<br />

Compute the<br />

approximated polynomial.<br />

In[15]:= ZerosByQZ[sbgz3, V$5]<br />

Out[15]= 0., 0., 2.0000000000000003 10 8 <br />

In[16]:= detz3 = Det[GetMatrix[sbgz3]] // Simplify<br />

Out[16]=<br />

beta$Q1 C1 C2 s2 1 Cbc$Q1 RE s<br />

<br />

Rbe$Q1 RE<br />

Solve for the zeros. In[17]:= sbgzeros = Solve[detz3 == 0, s]<br />

1<br />

Out[17]= s 0, s 0, s <br />

Cbc$Q1 RE <br />

Extract the zero of interest.<br />

In[18]:= z3 = s /. Last[sbgzeros]<br />

1<br />

Out[18]= <br />

Cbc$Q1 RE

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!