# HG changeset patch # User jwe # Date 1051818130 0 # Node ID c05051baf03be369323e02619959ccd92d944669 # Parent f52b3f1a93995889e6ff32a45a671e348e5bbb5c [project @ 2003-05-01 19:41:57 by jwe] diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2003-05-01 John W. Eaton + + * control/system/sysadd.m: If systems are not "tf", convert before + adding. + 2003-05-01 Paul Kienzle * image/imagesc.m: Accept data limits parameter for colormap. diff --git a/scripts/control/system/sysadd.m b/scripts/control/system/sysadd.m --- a/scripts/control/system/sysadd.m +++ b/scripts/control/system/sysadd.m @@ -73,19 +73,25 @@ endfor ## perform the add - if(nargin == 2) - Gsys = nth(arglist,1); Hsys = nth(arglist,2); - if( strcmp(sysgettype(Gsys),"tf") | strcmp(sysgettype(Hsys),"tf") ) - ## see if adding transfer functions with identical denominators + if (nargin == 2) + Gsys = nth(arglist,1); + Hsys = nth(arglist,2); + + if (! strcmp (sysgettype (Gsys), "tf")) [Gnum,Gden,GT,Gin,Gout] = sys2tf(Gsys); + endif + + if (! strcmp (sysgettype (Hsys),"tf")) [Hnum,Hden,HT,Hin,Hout] = sys2tf(Hsys); - if(length(Hden) == length(Gden) ) - if( (Hden == Gden) & (HT == GT) ) - sys = tf2sys(Gnum+Hnum,Gden,GT,Gin,Gout); - return - endif - ## if not, we go on and do the usual thing... + endif + + ## see if adding transfer functions with identical denominators + if (length(Hden) == length(Gden) ) + if( (Hden == Gden) & (HT == GT) ) + sys = tf2sys(Gnum+Hnum,Gden,GT,Gin,Gout); + return endif + ## if not, we go on and do the usual thing... endif ## make sure in ss form