Mercurial > octave-nkf
diff scripts/control/system/zpout.m @ 7136:59dcf01bb3e3
[project @ 2007-11-08 20:18:25 by jwe]
author | jwe |
---|---|
date | Thu, 08 Nov 2007 20:18:26 +0000 |
parents | 1d0d7be2d0f8 |
children | 3422f39573b1 |
line wrap: on
line diff
--- a/scripts/control/system/zpout.m Thu Nov 08 18:54:10 2007 +0000 +++ b/scripts/control/system/zpout.m Thu Nov 08 20:18:26 2007 +0000 @@ -34,70 +34,72 @@ print_usage (); endif - if( !(isvector(zer) | isempty(zer)) | !(isvector(pol) | isempty(pol)) ) - error("zer, pol must be vectors or empty"); + if (! (isvector (zer) || isempty (zer)) + || ! (isvector (pol) || isempty(pol))) + error ("zer, pol must be vectors or empty"); endif - if(!isscalar(k)) + if (! isscalar(k)) error("zpout: argument k must be a scalar.") endif if (nargin == 3) x = "s"; - elseif( ! ischar(x) ) - error("zpout: third argument must be a string"); + elseif (! ischar (x)) + error ("zpout: third argument must be a string"); endif - numstring = num2str(k); + numstring = num2str (k); - if(length(zer)) + if (length (zer)) ## find roots at z,s = 0 - nzr = sum(zer == 0); - if(nzr) - if(nzr > 1) - numstring = [numstring,sprintf(" %s^%d",x,nzr)]; - else - numstring = [numstring,sprintf(" %s",x)]; - endif + nzr = sum (zer == 0); + if (nzr) + if (nzr > 1) + numstring = sprintf ("%s %s^%d", numstring, x, nzr); + else + numstring = strcat (numstring, x); + endif endif - zer = sortcom(-zer); - for ii=1:length(zer) - if(zer(ii) != 0) - numstring = [numstring,sprintf(" (%s %s)",x,com2str(zer(ii),1) ) ]; - endif + zer = sortcom (-zer); + for ii = 1:length(zer) + if (zer(ii) != 0) + numstring = sprintf ("%s (%s %s)", numstring, x, com2str (zer(ii), 1)); + endif endfor endif - if(length(pol)) + if (length (pol)) ## find roots at z,s = 0 - nzr = sum(pol == 0); - if(nzr) - if(nzr > 1) - denomstring = [sprintf("%s^%d",x,nzr)]; - else - denomstring = [sprintf("%s",x)]; - endif + nzr = sum (pol == 0); + if (nzr) + if (nzr > 1) + denomstring = sprintf("%s^%d", x, nzr); + else + denomstring = sprintf ("%s", x); + endif else - denomstring = " "; + denomstring = " "; endif - pol = sortcom(-pol); - for ii=1:length(pol) - if(pol(ii) != 0) - denomstring = [denomstring,sprintf(" (%s %s)",x,com2str(pol(ii),1))]; - endif + pol = sortcom (-pol); + for ii = 1:length(pol) + if (pol(ii) != 0) + denomstring = sprintf ("%s (%s %s)", denomstring, x, + com2str (pol(ii), 1)); + endif endfor endif - len = max(length(numstring),length(denomstring)); + len = max (length (numstring), length (denomstring)); if(len > 0) - y = strrep(blanks(len)," ","-"); - disp(numstring) - if(length(denomstring)) - disp(y) - disp(denomstring) + y = strrep (blanks (len), " ", "-"); + disp (numstring) + if (length (denomstring)) + disp (y) + disp (denomstring) endif else error ("zpout: empty transfer function") - end + endif endfunction