From: <par...@us...> - 2011-09-06 06:03:16
|
Revision: 8505 http://octave.svn.sourceforge.net/octave/?rev=8505&view=rev Author: paramaniac Date: 2011-09-06 06:03:10 +0000 (Tue, 06 Sep 2011) Log Message: ----------- control: improve argument checking, add a test Modified Paths: -------------- trunk/octave-forge/main/control/inst/@lti/c2d.m trunk/octave-forge/main/control/inst/@lti/d2c.m trunk/octave-forge/main/control/inst/ltimodels.m Modified: trunk/octave-forge/main/control/inst/@lti/c2d.m =================================================================== --- trunk/octave-forge/main/control/inst/@lti/c2d.m 2011-09-05 21:03:51 UTC (rev 8504) +++ trunk/octave-forge/main/control/inst/@lti/c2d.m 2011-09-06 06:03:10 UTC (rev 8505) @@ -24,7 +24,7 @@ ## @strong{Inputs} ## @table @var ## @item sys -## Continuous-time LTI model. +## Continuous-time LTI model. Only state-space models have been implemented so far. ## @item tsam ## Sampling time in seconds. ## @item method @@ -73,6 +73,10 @@ error ("c2d: third argument is not a string"); endif + if (! issample (w0, 0)) + error ("c2d: fourth argument is not a valid pre-warping frequency"); + endif + sys = __c2d__ (sys, tsam, lower (method), w0); sys.tsam = tsam; Modified: trunk/octave-forge/main/control/inst/@lti/d2c.m =================================================================== --- trunk/octave-forge/main/control/inst/@lti/d2c.m 2011-09-05 21:03:51 UTC (rev 8504) +++ trunk/octave-forge/main/control/inst/@lti/d2c.m 2011-09-06 06:03:10 UTC (rev 8505) @@ -24,7 +24,7 @@ ## @strong{Inputs} ## @table @var ## @item sys -## Discrete-time LTI model. +## Discrete-time LTI model. Only state-space models have been implemented so far. ## @item method ## Optional conversion method. If not specified, default method @var{"zoh"} ## is taken. @@ -67,6 +67,10 @@ error ("d2c: second argument is not a string"); endif + if (! issample (w0, 0)) + error ("d2c: third argument is not a valid pre-warping frequency"); + endif + sys = __d2c__ (sys, sys.tsam, lower (method), w0); sys.tsam = 0; Modified: trunk/octave-forge/main/control/inst/ltimodels.m =================================================================== --- trunk/octave-forge/main/control/inst/ltimodels.m 2011-09-05 21:03:51 UTC (rev 8504) +++ trunk/octave-forge/main/control/inst/ltimodels.m 2011-09-06 06:03:10 UTC (rev 8505) @@ -1346,3 +1346,26 @@ %! %!assert (Mo, Me, 1e-4); + +## bilinear transformation with pre-warping +## both directions +%!shared Mo, Me +%! A = [ 1.0 0.5 +%! 0.5 1.0 ]; +%! +%! B = [ 0.0 -1.0 +%! 1.0 0.0 ]; +%! +%! C = [ -1.0 0.0 +%! 0.0 1.0 ]; +%! +%! D = [ 1.0 0.0 +%! 0.0 -1.0 ]; +%! +%! [Ao, Bo, Co, Do] = ssdata (d2c (c2d (ss (A, B, C, D), 2, "prewarp", 1000), "prewarp", 1000)); +%! +%! Mo = [Ao, Bo; Co, Do]; +%! Me = [A, B; C, D]; +%! +%!assert (Mo, Me, 1e-4); + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |