From: <par...@us...> - 2011-12-08 22:40:33
|
Revision: 9314 http://octave.svn.sourceforge.net/octave/?rev=9314&view=rev Author: paramaniac Date: 2011-12-08 22:40:26 +0000 (Thu, 08 Dec 2011) Log Message: ----------- control-devel: test hankel singular values Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/bstmodred.m trunk/octave-forge/extra/control-devel/inst/btaconred.m trunk/octave-forge/extra/control-devel/inst/btamodred.m Modified: trunk/octave-forge/extra/control-devel/inst/bstmodred.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/bstmodred.m 2011-12-08 22:30:43 UTC (rev 9313) +++ trunk/octave-forge/extra/control-devel/inst/bstmodred.m 2011-12-08 22:40:26 UTC (rev 9314) @@ -328,7 +328,7 @@ endfunction -%!shared Mo, Me +%!shared Mo, Me, Info, HSVe %! A = [ -0.04165 0.0000 4.9200 -4.9200 0.0000 0.0000 0.0000 %! -5.2100 -12.500 0.0000 0.0000 0.0000 0.0000 0.0000 %! 0.0000 3.3300 -3.3300 0.0000 0.0000 0.0000 0.0000 @@ -353,10 +353,10 @@ %! 0.0000 0.0000 %! 0.0000 0.0000 ]; %! -%! sys = ss (A, B, C, D, "scaled", true); +%! G = ss (A, B, C, D, "scaled", true); %! -%! sysr = bstmodred (sys, "beta", 1.0, "tol1", 0.1, "tol2", 0.0); -%! [Ao, Bo, Co, Do] = ssdata (sysr); +%! [Gr, Info] = bstmodred (G, "beta", 1.0, "tol1", 0.1, "tol2", 0.0); +%! [Ao, Bo, Co, Do] = ssdata (Gr); %! %! Ae = [ 1.2729 0.0000 6.5947 0.0000 -3.4229 %! 0.0000 0.8169 0.0000 2.4821 0.0000 @@ -378,7 +378,10 @@ %! 0.0000 0.0000 %! 0.0000 0.0000 ]; %! +%! HSVe = [ 0.8803 0.8506 0.8038 0.4494 0.3973 0.0214 0.0209 ].'; +%! %! Mo = [Ao, Bo; Co, Do]; %! Me = [Ae, Be; Ce, De]; %! %!assert (Mo, Me, 1e-4); +%!assert (Info.hsv, HSVe, 1e-4); Modified: trunk/octave-forge/extra/control-devel/inst/btaconred.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/btaconred.m 2011-12-08 22:30:43 UTC (rev 9313) +++ trunk/octave-forge/extra/control-devel/inst/btaconred.m 2011-12-08 22:40:26 UTC (rev 9314) @@ -56,7 +56,7 @@ endfunction -%!shared Mo, Me +%!shared Mo, Me, Info, HSVCe %! A = [ -1. 0. 4. %! 0. 2. 0. %! 0. 0. -3. ]; @@ -85,7 +85,7 @@ %! %! K = ss (AC, BC, CC, DC, "scaled", true); %! -%! Kr = btaconred (G, K, 2, "weight", "input"); +%! [Kr, Info] = btaconred (G, K, 2, "weight", "input"); %! [Ao, Bo, Co, Do] = ssdata (Kr); %! %! Ae = [ 9.1900 0.0000 @@ -98,7 +98,10 @@ %! %! De = [ 0.0000 ]; %! +%! HSVCe = [ 3.8253 0.2005 ].'; +%! %! Mo = [Ao, Bo; Co, Do]; %! Me = [Ae, Be; Ce, De]; %! -%!assert (Mo, Me, 1e-4); \ No newline at end of file +%!assert (Mo, Me, 1e-4); +%!assert (Info.hsvc, HSVCe, 1e-4); Modified: trunk/octave-forge/extra/control-devel/inst/btamodred.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/btamodred.m 2011-12-08 22:30:43 UTC (rev 9313) +++ trunk/octave-forge/extra/control-devel/inst/btamodred.m 2011-12-08 22:40:26 UTC (rev 9314) @@ -96,7 +96,7 @@ endfunction -%!shared Mo, Me +%!shared Mo, Me, Info, HSVe %! A = [ -26.4000, 6.4023, 4.3868; %! 32.0000, 0, 0; %! 0, 8.0000, 0 ]; @@ -109,7 +109,7 @@ %! %! D = [ 0 ]; %! -%! sys = ss (A, B, C, D); % "scaled", false +%! G = ss (A, B, C, D); % "scaled", false %! %! AV = [ -1.0000, 0, 4.0000, -9.2994, -1.1624, -0.1090; %! 0, 2.0000, 0, -9.2994, -1.1624, -0.1090; @@ -129,10 +129,10 @@ %! %! DV = [ 0 ]; %! -%! sysv = ss (AV, BV, CV, DV); +%! V = ss (AV, BV, CV, DV); %! -%! sysr = btamodred (sys, 2, "left", sysv); -%! [Ao, Bo, Co, Do] = ssdata (sysr); +%! [Gr, Info] = btamodred (G, 2, "left", V); +%! [Ao, Bo, Co, Do] = ssdata (Gr); %! %! Ae = [ 9.1900 0.0000 %! 0.0000 -34.5297 ]; @@ -144,7 +144,10 @@ %! %! De = [ 0.0000 ]; %! +%! HSVe = [ 3.8253 0.2005 ].'; +%! %! Mo = [Ao, Bo; Co, Do]; %! Me = [Ae, Be; Ce, De]; %! %!assert (Mo, Me, 1e-4); +%!assert (Info.hsv, HSVe, 1e-4); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |