From: <par...@us...> - 2010-08-30 10:19:17
|
Revision: 7606 http://octave.svn.sourceforge.net/octave/?rev=7606&view=rev Author: paramaniac Date: 2010-08-30 10:19:10 +0000 (Mon, 30 Aug 2010) Log Message: ----------- control: commit forgotten changes from previous revisions Modified Paths: -------------- trunk/octave-forge/main/control/inst/hinfsyn.m trunk/octave-forge/main/control/inst/isctrb.m trunk/octave-forge/main/control/inst/ltimodels.m Modified: trunk/octave-forge/main/control/inst/hinfsyn.m =================================================================== --- trunk/octave-forge/main/control/inst/hinfsyn.m 2010-08-30 08:13:17 UTC (rev 7605) +++ trunk/octave-forge/main/control/inst/hinfsyn.m 2010-08-30 10:19:10 UTC (rev 7606) @@ -77,7 +77,6 @@ ## Created: December 2009 ## Version: 0.1 -## TODO: find optimal instead of suboptimal controller ## TODO: improve compatibility for nargin >= 4 function [K, varargout] = hinfsyn (P, nmeas, ncon, gmax = 1e15) Modified: trunk/octave-forge/main/control/inst/isctrb.m =================================================================== --- trunk/octave-forge/main/control/inst/isctrb.m 2010-08-30 08:13:17 UTC (rev 7605) +++ trunk/octave-forge/main/control/inst/isctrb.m 2010-08-30 10:19:10 UTC (rev 7606) @@ -82,7 +82,9 @@ endif [Ac, Bc, U, ncont] = slab01od (A, B, tol); -U = U(:, 1:ncont); + + U = U(:, 1:ncont); + retval = (ncont == rows (A)); endfunction Modified: trunk/octave-forge/main/control/inst/ltimodels.m =================================================================== --- trunk/octave-forge/main/control/inst/ltimodels.m 2010-08-30 08:13:17 UTC (rev 7605) +++ trunk/octave-forge/main/control/inst/ltimodels.m 2010-08-30 10:19:10 UTC (rev 7606) @@ -243,4 +243,40 @@ %! s = tf ("s"); %! G = (s+1)*s*5/(s+1)/(s^2+s+1); %! a = G(1,1).num{1,1}(1); -%!assert (a, 5, 1e-4); \ No newline at end of file +%!assert (a, 5, 1e-4); + +## staircase (SLICOT AB01OD) +%!shared Ac, Bc, Ace, Bce +%! A = [ 17.0 24.0 1.0 8.0 15.0 +%! 23.0 5.0 7.0 14.0 16.0 +%! 4.0 6.0 13.0 20.0 22.0 +%! 10.0 12.0 19.0 21.0 3.0 +%! 11.0 18.0 25.0 2.0 9.0]; +%! +%! B = [ -1.0 -4.0 +%! 4.0 9.0 +%! -9.0 -16.0 +%! 16.0 25.0 +%! -25.0 -36.0]; +%! +%! tol = 0; +%! +%! A = A.'; # There's a little mistake in the example +%! # program of routine AB01OD in SLICOT 5.0 +%! +%! [Ac, Bc, U, ncont] = slab01od (A, B, tol); +%! +%! Ace = [ 12.8848 3.2345 11.8211 3.3758 -0.8982 +%! 4.4741 -12.5544 5.3509 5.9403 1.4360 +%! 14.4576 7.6855 23.1452 26.3872 -29.9557 +%! 0.0000 1.4805 27.4668 22.6564 -0.0072 +%! 0.0000 0.0000 -30.4822 0.6745 18.8680]; +%! +%! Bce = [ 31.1199 47.6865 +%! 3.2480 0.0000 +%! 0.0000 0.0000 +%! 0.0000 0.0000 +%! 0.0000 0.0000]; +%! +%!assert (Ac, Ace, 1e-4); +%!assert (Bc, Bce, 1e-4); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |