diff --git a/matlab/disp_identification.m b/matlab/disp_identification.m index 16e25924b..ccc62ced7 100644 --- a/matlab/disp_identification.m +++ b/matlab/disp_identification.m @@ -285,7 +285,7 @@ if SampleSize==1 && advanced, pax(i,dumpindx)=idemoments.cosnJ(i,j); end end - fprintf('%-15s [%s] %10.3f\n',name{i},namx,idemoments.cosnJ(i,j)) + fprintf('%-15s [%s] %14.7f\n',name{i},namx,idemoments.cosnJ(i,j)) end end end diff --git a/matlab/getH.m b/matlab/getH.m index f4069b04a..17ed4ba44 100644 --- a/matlab/getH.m +++ b/matlab/getH.m @@ -388,21 +388,12 @@ if kronflag==1, % kronecker products H = -DfDtau\DfDthet; x = reshape(H(1:m*m,:),m,m,param_nbr); y = reshape(Dm*H(m*m+1:end,:),m,m,param_nbr); - if nauxe, - x = x(nauxe+1:end,nauxe+1:end,:); - y = y(nauxe+1:end,nauxe+1:end,:); - dA = x; - dOm = y; - m = size(y,1); - x = reshape(x,m*m,param_nbr); - Dm = duplication(m); - DmPl = inv(Dm'*Dm)*Dm'; - y = DmPl*reshape(y,m*m,param_nbr); - H = [x;y]; - else - dA = x; - dOm = y; - end + dA = x; + dOm = y; + % convert to dyn_vech + tmpH = Dm*H(m*m+1:end,:); + Index = find(triu(ones(m))); + H(m*m+1:end,:) = tmpH(Index,:); Hx = []; if ~isempty(indexo),