From: <par...@us...> - 2011-11-09 20:49:17
|
Revision: 9042 http://octave.svn.sourceforge.net/octave/?rev=9042&view=rev Author: paramaniac Date: 2011-11-09 20:49:10 +0000 (Wed, 09 Nov 2011) Log Message: ----------- control-devel: work on argument checking of model reduction commands (4) Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/__ab09id_modred__.m trunk/octave-forge/extra/control-devel/inst/__check_order__.m trunk/octave-forge/extra/control-devel/inst/__check_tol__.m trunk/octave-forge/extra/control-devel/inst/__check_weight__.m trunk/octave-forge/extra/control-devel/inst/bstmodred.m trunk/octave-forge/extra/control-devel/inst/hnamodred.m Modified: trunk/octave-forge/extra/control-devel/inst/__ab09id_modred__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__ab09id_modred__.m 2011-11-09 20:27:50 UTC (rev 9041) +++ trunk/octave-forge/extra/control-devel/inst/__ab09id_modred__.m 2011-11-09 20:49:10 UTC (rev 9042) @@ -72,16 +72,13 @@ val = varargin{k+1}; switch (prop) case {"left", "v"} - [av, bv, cv, dv] = __check_weight__ (val, dt); - jobv = 1; + [av, bv, cv, dv, jobv] = __check_weight__ (val, dt); case {"right", "w"} - [aw, bw, cw, dw] = __check_weight__ (val, dt); - jobw = 1; + [aw, bw, cw, dw, jobw] = __check_weight__ (val, dt); case {"order", "n", "nr"} - nr = __check_order__ (val); - ordsel = 0; + [nr, ordsel] = __check_order__ (val); case "tol1" tol1 = __check_tol__ (val, "tol1"); Modified: trunk/octave-forge/extra/control-devel/inst/__check_order__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__check_order__.m 2011-11-09 20:27:50 UTC (rev 9041) +++ trunk/octave-forge/extra/control-devel/inst/__check_order__.m 2011-11-09 20:49:10 UTC (rev 9042) @@ -20,11 +20,14 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: November 2011 +## Version: 0.1 -function nr = __check_order__ (nr) +function [nr, ordsel] = __check_order__ (nr) if (! issample (nr, 0) || nr != round (nr)) error ("modred: order of reduced model must be an integer >= 0"); endif + + ordsel = 0; endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/control-devel/inst/__check_tol__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__check_tol__.m 2011-11-09 20:27:50 UTC (rev 9041) +++ trunk/octave-forge/extra/control-devel/inst/__check_tol__.m 2011-11-09 20:49:10 UTC (rev 9042) @@ -20,6 +20,7 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: November 2011 +## Version: 0.1 function tol = __check_tol__ (tol, str = "") Modified: trunk/octave-forge/extra/control-devel/inst/__check_weight__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__check_weight__.m 2011-11-09 20:27:50 UTC (rev 9041) +++ trunk/octave-forge/extra/control-devel/inst/__check_weight__.m 2011-11-09 20:49:10 UTC (rev 9042) @@ -22,7 +22,7 @@ ## Created: November 2011 ## Version: 0.1 -function [a, b, c, d] = __check_weight__ (sys, dt) +function [a, b, c, d, job] = __check_weight__ (sys, dt) sys = ss (sys); # could be non-lti, therefore ssdata would fail @@ -31,5 +31,7 @@ endif [a, b, c, d] = ssdata (sys); + + job = 1; endfunction Modified: trunk/octave-forge/extra/control-devel/inst/bstmodred.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/bstmodred.m 2011-11-09 20:27:50 UTC (rev 9041) +++ trunk/octave-forge/extra/control-devel/inst/bstmodred.m 2011-11-09 20:49:10 UTC (rev 9042) @@ -78,8 +78,7 @@ val = varargin{k+1}; switch (prop) case {"order", "n", "nr"} - nr = __check_order__ (val); - ordsel = 0; + [nr, ordsel] = __check_order__ (val); case "tol1" tol1 = __check_tol__ (val, "tol1"); Modified: trunk/octave-forge/extra/control-devel/inst/hnamodred.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/hnamodred.m 2011-11-09 20:27:50 UTC (rev 9041) +++ trunk/octave-forge/extra/control-devel/inst/hnamodred.m 2011-11-09 20:49:10 UTC (rev 9042) @@ -80,16 +80,13 @@ val = varargin{k+1}; switch (prop) case {"left", "v"} - [av, bv, cv, dv] = __check_weight__ (val, dt); - jobv = 1; + [av, bv, cv, dv, jobv] = __check_weight__ (val, dt); case {"right", "w"} - [aw, bw, cw, dw] = __check_weight__ (val, dt); - jobw = 1; + [aw, bw, cw, dw, jobw] = __check_weight__ (val, dt); case {"order", "n", "nr"} - nr = __check_order__ (val); - ordsel = 0; + [nr, ordsel] = __check_order__ (val); case "tol1" tol1 = __check_tol__ (val, "tol1"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |