comparison scripts/control/base/lqg.m @ 4771:b8105302cfe8

[project @ 2004-02-16 17:45:50 by jwe]
author jwe
date Mon, 16 Feb 2004 17:45:50 +0000
parents 22bd65326ec1
children 9f7ef92b50b0
comparison
equal deleted inserted replaced
4770:ef5e598f099b 4771:b8105302cfe8
104 if(length(input_list) != columns(R)) 104 if(length(input_list) != columns(R))
105 error(["lqg: length(input_list)=",num2str(length(input_list)), ... 105 error(["lqg: length(input_list)=",num2str(length(input_list)), ...
106 ", columns(R)=", num2str(columns(R))]); 106 ", columns(R)=", num2str(columns(R))]);
107 endif 107 endif
108 108
109 varname = list("Sigw","Sigv","Q","R"); 109 varname = {"Sigw","Sigv","Q","R"};
110 for kk=1:length(varname); 110 for kk=1:length(varname);
111 eval(sprintf("chk = issquare(%s);",nth(varname,kk))); 111 eval(sprintf("chk = issquare(%s);",varname{kk}));
112 if(! chk ) error("lqg: %s is not square",nth(varname,kk)); endif 112 if(! chk ) error("lqg: %s is not square",varname{kk}); endif
113 endfor 113 endfor
114 114
115 ## permute (if need be) 115 ## permute (if need be)
116 if(nargin == 6) 116 if(nargin == 6)
117 all_inputs = sysreorder(nin,input_list); 117 all_inputs = sysreorder(nin,input_list);
147 147
148 ## fix controller input names 148 ## fix controller input names
149 inname1 = strappend(outname,"_K"); 149 inname1 = strappend(outname,"_K");
150 150
151 if(DIG) 151 if(DIG)
152 K = ss2sys(Ac,Bc,Cc,Dc,tsam,n,nz,stname1,inname1,outname1,1:rows(Cc)); 152 K = ss(Ac,Bc,Cc,Dc,tsam,n,nz,stname1,inname1,outname1,1:rows(Cc));
153 else 153 else
154 K = ss2sys(Ac,Bc,Cc,Dc,tsam,n,nz,stname,inname1,outname1); 154 K = ss(Ac,Bc,Cc,Dc,tsam,n,nz,stname,inname1,outname1);
155 endif 155 endif
156 156
157 endfunction 157 endfunction