Fixed bug reported by Rob Luginbuhl in dynare forum
parent
a74f7c0285
commit
bd9af2fa5a
|
@ -28,6 +28,9 @@ y = H(:,1);
|
||||||
X = H(:,2:end);
|
X = H(:,2:end);
|
||||||
|
|
||||||
b=(X\y);
|
b=(X\y);
|
||||||
|
if any(isnan(b)) || any(isinf(b)),
|
||||||
|
b=0;
|
||||||
|
end
|
||||||
yhat = X*b;
|
yhat = X*b;
|
||||||
if rank(yhat),
|
if rank(yhat),
|
||||||
co = abs(y'*yhat/sqrt((y'*y)*(yhat'*yhat)));
|
co = abs(y'*yhat/sqrt((y'*y)*(yhat'*yhat)));
|
||||||
|
|
|
@ -56,7 +56,8 @@ for ll = 1:n,
|
||||||
pars{ii,ll} = [pars{ii,ll-1} NaN];
|
pars{ii,ll} = [pars{ii,ll-1} NaN];
|
||||||
cosnJ(ii,ll) = cosnJ(ii,ll-1);
|
cosnJ(ii,ll) = cosnJ(ii,ll-1);
|
||||||
else
|
else
|
||||||
pars{ii,ll} = tmp2(find(cosnJ2(:,1)==max(cosnJ2(:,1))),:);
|
tmp3 = tmp2(find(cosnJ2(:,1)==max(cosnJ2(:,1))),:);
|
||||||
|
pars{ii,ll} = tmp3(1,:);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
pars{ii,ll} = NaN(1,ll);
|
pars{ii,ll} = NaN(1,ll);
|
||||||
|
|
|
@ -284,6 +284,7 @@ if info(1)==0,
|
||||||
normJ=1;
|
normJ=1;
|
||||||
[U, S, V]=svd(JJ(indJJ,:)./normJ,0);
|
[U, S, V]=svd(JJ(indJJ,:)./normJ,0);
|
||||||
S=diag(S);
|
S=diag(S);
|
||||||
|
S=[S;zeros(size(JJ,2)-length(indJJ),1)];
|
||||||
if nparam>8
|
if nparam>8
|
||||||
ide_moments.S = S([1:4, end-3:end]);
|
ide_moments.S = S([1:4, end-3:end]);
|
||||||
ide_moments.V = V(:,[1:4, end-3:end]);
|
ide_moments.V = V(:,[1:4, end-3:end]);
|
||||||
|
|
Loading…
Reference in New Issue