Editing Control package

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 7: Line 7:
{| class="wikitable"  
{| class="wikitable"  
|-
|-
! Chapter !! Function !! Implemented !! File
! Chapter !! Function !! Implemented !! File !! Number of Tests !! Status !! SLICOT functions !! Priority (0-2)
|-
|-
| rowspan="11" | Basic Models || tf    || style="background: green;" | yes || @tf/tf.m
| rowspan="11" | Basic Models || tf    || style="background: green;" | yes || @tf/tf.m   || || || ||
|-
|-
|                                zpk    || style="background: green;" | yes || zpk.m
|                                zpk    || style="background: green;" | yes || zpk.m     || || || ||
|-
|-
|                                ss    || style="background: green;" | yes || @ss/ss.m
|                                ss    || style="background: green;" | yes || @ss/ss.m   || || || ||
|-
|-
|                                frd    || style="background: green;" | yes || @frd/frd.m
|                                frd    || style="background: green;" | yes || @frd/frd.m || || || ||
|-  
|-  
|                                pid    || style="background: green;" | yes || pid.m
|                                pid    || style="background: red;"   | no  ||            || || || ||
|-
|-
|                                pidstd || style="background: green;" | yes || pidstd.m
|                                pidstd || style="background: red;"   | no  ||            || || || ||
|-
|-
|                                pid2  || style="background: red;"  | no  ||
|                                pid2  || style="background: red;"  | no  ||            || || || ||
|-
|-
|                                dss    || style="background: green;" | yes || @lti/dss.m
|                                dss    || style="background: green;" | yes || @lti/dss.m || || || ||
|-
|-
|                                drss  || style="background: red;"  | no  ||
|                                drss  || style="background: red;"  | no  ||            || || || ||
|-
|-
|                                filt  || style="background: green;" | yes || filt.m
|                                filt  || style="background: green;" | yes || filt.m     || || || ||
|-
|-
|                                rss    || style="background: red;"  | no  ||
|                                rss    || style="background: red;"  | no  ||            || || || ||
|-
|-
| rowspan="24" | Tunable Models || ltiblock.gain      || style="background: red;" | no ||
| rowspan="24" | Tunable Models || ltiblock.gain      || style="background: red;" | no || || || || ||
|-
|-
|                                  ltiblock.pid      || style="background: red;" | no ||
|                                  ltiblock.pid      || style="background: red;" | no || || || || ||
|-
|-
|                                  ltiblock.pid2      || style="background: red;" | no ||
|                                  ltiblock.pid2      || style="background: red;" | no || || || || ||
|-
|-
|                                  ltiblock.ss        || style="background: red;" | no ||
|                                  ltiblock.ss        || style="background: red;" | no || || || || ||
|-
|-
|                                  ltiblock.tf        || style="background: red;" | no ||
|                                  ltiblock.tf        || style="background: red;" | no || || || || ||
|-
|-
|                                  realp              || style="background: red;" | no ||
|                                  realp              || style="background: red;" | no || || || || ||
|-
|-
|                                  AnalysisPoint      || style="background: red;" | no ||
|                                  AnalysisPoint      || style="background: red;" | no || || || || ||
|-
|-
|                                  genss              || style="background: red;" | no ||
|                                  genss              || style="background: red;" | no || || || || ||
|-
|-
|                                  genfrd            || style="background: red;" | no ||
|                                  genfrd            || style="background: red;" | no || || || || ||
|-
|-
|                                  genmat            || style="background: red;" | no ||
|                                  genmat            || style="background: red;" | no || || || || ||
|-
|-
|                                  getLoopTransfer    || style="background: red;" | no ||
|                                  getLoopTransfer    || style="background: red;" | no || || || || ||
|-
|-
|                                  getIOTransfer      || style="background: red;" | no ||
|                                  getIOTransfer      || style="background: red;" | no || || || || ||
|-
|-
|                                  getSensitivity    || style="background: red;" | no ||
|                                  getSensitivity    || style="background: red;" | no || || || || ||
|-
|-
|                                  getCompSensitivity || style="background: red;" | no ||
|                                  getCompSensitivity || style="background: red;" | no || || || || ||
|-
|-
|                                  getPoints          || style="background: red;" | no ||
|                                  getPoints          || style="background: red;" | no || || || || ||
|-
|-
|                                  replaceBlock      || style="background: red;" | no ||
|                                  replaceBlock      || style="background: red;" | no || || || || ||
|-
|-
|                                  getValue          || style="background: red;" | no ||
|                                  getValue          || style="background: red;" | no || || || || ||
|-
|-
|                                  setValue          || style="background: red;" | no ||
|                                  setValue          || style="background: red;" | no || || || || ||
|-
|-
|                                  getBlockValue      || style="background: red;" | no ||
|                                  getBlockValue      || style="background: red;" | no || || || || ||
|-
|-
|                                  setBlockValue      || style="background: red;" | no ||
|                                  setBlockValue      || style="background: red;" | no || || || || ||
|-
|-
|                                  showBlockValue    || style="background: red;" | no ||
|                                  showBlockValue    || style="background: red;" | no || || || || ||
|-
|-
|                                  showTunable        || style="background: red;" | no ||
|                                  showTunable        || style="background: red;" | no || || || || ||
|-
|-
|                                  nblocks            || style="background: red;" | no ||
|                                  nblocks            || style="background: red;" | no || || || || ||
|-
|-
|                                  getLFTModel        || style="background: red;" | no ||
|                                  getLFTModel        || style="background: red;" | no || || || || ||
|-
|-
| rowspan="9" | Model with Time Delays || pade            || style="background: red;"  | no  ||
| rowspan="9" | Model with Time Delays || pade            || style="background: red;"  | no  ||          || || || ||
|-
|-
|                                        absorbDelay      || style="background: red;"  | no  ||
|                                        absorbDelay      || style="background: red;"  | no  ||          || || || ||
|-
|-
|                                        thiran          || style="background: green;" | yes || thiran.m
|                                        thiran          || style="background: green;" | yes || thiran.m || || || ||
|-
|-
|                                        hasdelay        || style="background: red;"  | no  ||
|                                        hasdelay        || style="background: red;"  | no  ||          || || || ||
|-
|-
|                                        hasInternalDelay || style="background: red;"  | no  ||
|                                        hasInternalDelay || style="background: red;"  | no  ||          || || || ||
|-
|-
|                                        totaldelay      || style="background: red;"  | no  ||
|                                        totaldelay      || style="background: red;"  | no  ||          || || || ||
|-
|-
|                                        delayss          || style="background: red;"  | no  ||
|                                        delayss          || style="background: red;"  | no  ||          || || || ||
|-
|-
|                                        setDelayModel    || style="background: red;"  | no  ||
|                                        setDelayModel    || style="background: red;"  | no  ||          || || || ||
|-
|-
|                                        getDelayModel    || style="background: red;"  | no  ||
|                                        getDelayModel    || style="background: red;"  | no  ||          || || || ||
|-
|-
| rowspan="26" | Model Attributes || get          || style="background: green;" | yes || @iddata/get.m
| rowspan="26" | Model Attributes || get          || style="background: green;" | yes || @iddata/get.m     || || || ||
|-
|-
|                                    set          || style="background: green;" | yes || @iddata/set.m
|                                    set          || style="background: green;" | yes || @iddata/set.m     || || || ||
|-
|-
|                                    tfdata      || style="background: green;" | yes || @lti/tfdata.m
|                                    tfdata      || style="background: green;" | yes || @lti/tfdata.m     || || || ||
|-
|-
|                                    zpkdata      || style="background: green;" | yes || @lti/zpkdata.m
|                                    zpkdata      || style="background: green;" | yes || @lti/zpkdata.m   || || || ||
|-
|-
|                                    ssdata      || style="background: green;" | yes || @lti/ssdata.m
|                                    ssdata      || style="background: green;" | yes || @lti/ssdata.m     || || || ||
|-
|-
|                                    frdata      || style="background: green;" | yes || @lti/frdata.m
|                                    frdata      || style="background: green;" | yes || @lti/frdata.m     || || || ||
|-
|-
|                                    piddata      || style="background: red;"  | no  ||
|                                    piddata      || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    pidstddata  || style="background: red;"  | no  ||
|                                    pidstddata  || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    piddata2    || style="background: red;"  | no  ||
|                                    piddata2    || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    pidstddata2  || style="background: red;"  | no  ||
|                                    pidstddata2  || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    dssdata      || style="background: green;" | yes || @lti/dssdata.m
|                                    dssdata      || style="background: green;" | yes || @lti/dssdata.m   || || || ||
|-
|-
|                                    chgFreqUnit  || style="background: red;"  | no  ||
|                                    chgFreqUnit  || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    chgTimeUnit  || style="background: red;"  | no  ||
|                                    chgTimeUnit  || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    isct        || style="background: green;" | yes || @lti/isct.m
|                                    isct        || style="background: green;" | yes || @lti/isct.m       || || || ||
|-
|-
|                                    isdt        || style="background: green;" | yes || @lti/isdt.m
|                                    isdt        || style="background: green;" | yes || @lti/isdt.m       || || || ||
|-
|-
|                                    isempty      || style="background: green;" | yes || built-in function
|                                    isempty      || style="background: green;" | yes || built-in function || || || ||
|-
|-
|                                    isfinite    || style="background: green;" | yes || built-in function
|                                    isfinite    || style="background: green;" | yes || built-in function || || || ||
|-
|-
|                                    isParametric || style="background: red;"  | no  ||
|                                    isParametric || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    isproper    || style="background: red;"  | no  ||
|                                    isproper    || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    isreal      || style="background: green;" | yes || built-in function
|                                    isreal      || style="background: green;" | yes || built-in function || || || ||
|-
|-
|                                    isiso        || style="background: red;"  | no  ||
|                                    isiso        || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    isstable    || style="background: green;" | yes || @lti/isstable.m
|                                    isstable    || style="background: green;" | yes || @lti/isstable.m   || || || ||
|-
|-
|                                    isstatic    || style="background: red;"  | no  ||
|                                    isstatic    || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    order        || style="background: red;"  | no  ||
|                                    order        || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                                    ndims        || style="background: green;" | yes || built-in function
|                                    ndims        || style="background: green;" | yes || built-in function || || || ||
|-
|-
|                                    size        || style="background: green;" | yes || built-in function
|                                    size        || style="background: green;" | yes || built-in function || || || ||
|-
|-
| rowspan="5" | Model Arrays || stack  || style="background: red;"  | no  ||
| rowspan="5" | Model Arrays || stack  || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                              nmodels || style="background: red;"  | no  ||
|                              nmodels || style="background: red;"  | no  ||                  || || || ||
|-
|-
|                              permute || style="background: green;" | yes || built-in function
|                              permute || style="background: green;" | yes || built-in function || || || ||
|-
|-
|                              reshape || style="background: green;" | yes || built-in function
|                              reshape || style="background: green;" | yes || built-in function || || || ||
|-
|-
|                              repsys  || style="background: green;" | yes || repsys.m
|                              repsys  || style="background: green;" | yes || repsys.m         || || || ||
|-
|-
|}
|}
Line 165: Line 165:
{| class="wikitable"  
{| class="wikitable"  
|-
|-
! Function !! Implemented !! File
! Function !! Implemented !! File !! Number of Tests !! Status !! SLICOT functions !! Priority (0-2)
|-
|-
| feedback || style="background: green;" | yes || @lti/feedback.m
| feedback || style="background: green;" | yes || @lti/feedback.m ||  || || ||
|-
|-
| connect || style="background: green;" | yes || @lti/connect.m
| connect || style="background: green;" | yes || @lti/connect.m ||  || || ||
|-
|-
| sumblk || style="background: green;" | yes || sumblk.m
| sumblk || style="background: green;" | yes || sumblk.m ||  || || ||
|-
|-
| series || style="background: green;" | yes || @lti/series.m
| series || style="background: red;" | no ||  ||  || || ||
|-
|-
| parallel || style="background: green;" | yes || @lti/parallel.m
| parallel || style="background: red;" | no ||  ||  || || ||
|-
|-
| append || style="background: green;" | yes || append.m
| append || style="background: green;" | yes || append.m ||  || || ||
|-
|-
| blkdiag || style="background: green;" | yes || @lti/blkdiag.m
| blkdiag || style="background: green;" | yes || @lti/blkdiag.m ||  || || ||
|-
|-
| imp2exp || style="background: red;" | no ||
| imp2exp || style="background: red;" | no ||  ||  || || ||
|-
|-
| inv || style="background: green;" | yes || built-in function
| inv || style="background: green;" | yes || built-in function ||  || || ||
|-
|-
| lft || style="background: red;" | no ||
| lft || style="background: red;" | no ||  ||  || || ||
|-
|-
| connectOptions || style="background: red;" | no ||
| connectOptions || style="background: red;" | no ||  ||  || || ||
|-
|-
|}
|}
Line 317: Line 317:
| getPeakGain || style="background: red;" | no ||  ||  || || ||
| getPeakGain || style="background: red;" | no ||  ||  || || ||
|-
|-
| rowspan="11" | Stability Analysis || pole || style="background: green;" | yes || @lti/pole.m ||  || || ||
| rowspan="10" | Stability Analysis || pole || style="background: green;" | yes || @lti/pole.m ||  || || ||
|-
|-
| zero || style="background: green;" | yes || @lti/zero.m ||  || || ||
| zero || style="background: green;" | yes || @lti/zero.m ||  || || ||
|-
|-
| damp || style="background: green;" | yes || damp.m ||  || || ||
| damp || style="background: red;" | no || ||  || || ||
|-
|-
| dsort || style="background: green;" | yes || dsort.m ||  || || ||
| dsort || style="background: red;" | no || ||  || || ||
|-
|-
| esort || style="background: green;" | yes || esort.m ||  || || ||
| esort || style="background: red;" | no || ||  || || ||
|-
|-
| tzero || style="background: red;" | no ||  ||  || || ||
| tzero || style="background: red;" | no ||  ||  || || ||
|-
| pzmap || style="background: green;" | yes || pzmap.m ||  || || ||
|-
|-
| pzplot || style="background: red;" | no ||  ||  || || ||
| pzplot || style="background: red;" | no ||  ||  || || ||
Line 375: Line 373:
| pidtuneOptions || style="background: red;" | no ||  ||  || || ||
| pidtuneOptions || style="background: red;" | no ||  ||  || || ||
|-
|-
| rowspan="5" | SISO Feedback Loops || rlocus || style="background: green;" | yes || rlocus.m ||  || || ||
| rowspan="4" | SISO Feedback Loops || rlocus || style="background: green;" | yes || rlocus.m  ||  || || ||
|-
| sgrid || style="background: red;" | no || ||  || || ||
|-
|-
| rlocusplot || style="background: red;" | no ||  ||  || || ||
| rlocusplot || style="background: red;" | no ||  ||  || || ||
Line 409: Line 405:
| norm || style="background: green;" | yes || @lti/norm.m  ||  || || ||
| norm || style="background: green;" | yes || @lti/norm.m  ||  || || ||
|-
|-
| rowspan="4" | Pole Placement || estim || style="background: green;" | yes || estim.m  ||  || || ||
| rowspan="3" | Pole Placement || estim || style="background: green;" | yes || estim.m  ||  || || ||
|-
|-
| place || style="background: green;" | yes || place.m  ||  || || ||
| place || style="background: green;" | yes || place.m  ||  || || ||
|-
|-
| acker || style="background: green;" | yes || acker.m  ||  || || ||
| reg || style="background: red;" | no ||  ||  || || ||
|-
| reg || style="background: red;" | no ||  ||  || ||  
|-
|-
|}
|}
Line 440: Line 434:
|-
|-
| gdare || style="background: red;" | no ||  ||  || || ||
| gdare || style="background: red;" | no ||  ||  || || ||
|-
| icare || style="background: red;" | no || ||  || || ||
|-
| idare || style="background: red;" | no ||  ||  || || ||
|-
|-
| ctrb || style="background: green;" | yes || ctrb.m ||  || || ||
| ctrb || style="background: green;" | yes || ctrb.m ||  || || ||
Line 471: Line 461:
  #add some common markers like the tangent line at the origin, which crosses lim(n->inf) f(t) at t=T1
  #add some common markers like the tangent line at the origin, which crosses lim(n->inf) f(t) at t=T1
  hold on
  hold on
  plot ([0 T1], [0 1], "--", 'color', [.75 .75 .75])
  plot ([0 T1], [0 1], "g")
  plot ([T1 T1], [0 1], "--", 'color', [.75 .75 .75])
  plot ([T1 T1], [0 1], "k")
plot ([0 T1], [1-1/e 1-1/e], "m")
  hold off
  hold off
</syntaxhighlight>}}
</syntaxhighlight>}}
Line 512: Line 503:
   ymajorgrids,  
   ymajorgrids,  
   enlarge x limits=false,
   enlarge x limits=false,
  xmode=log,
]  
]  
   \nextgroupplot[
   \nextgroupplot[
     title={Bode Diagram of $P$},
     title={Bode Diagram of $P$},
    xmode=log,
     ylabel={Magnitude / \si{\decibel}},
     ylabel={Magnitude / \si{\decibel}},
   ]
   ]
   \addplot[blue,line width=1pt] table[x index=0,y index=1]{\datatable};  
   \addplot[blue,line width=1pt] table[x index=0,y index=1]{\datatable};  
   \nextgroupplot[
   \nextgroupplot[
    xmode=log,
     xlabel={Frequency / \si{\radian\per\second}},
     xlabel={Frequency / \si{\radian\per\second}},
     ylabel={Phase / \si{\degree}},
     ylabel={Phase / \si{\degree}},
Line 536: Line 528:


=== Inverted Pendulum ===
=== Inverted Pendulum ===
==== Model ====


A nonlinear model of the inverted pendulum can be derived by
A nonlinear model of the inverted pendulum can be derived by
Line 594: Line 584:
</math>
</math>


==== Transfer functions ====
and by dividing the state variables by the input one obtains the transfer functions
 
By dividing the state variables by the input one obtains the transfer functions


<math>
<math>
Line 658: Line 646:
</ul></div>
</ul></div>


[[Category:Octave Forge]]
==References==
<references />
 
 
[[Category:Octave-Forge]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: