📄 pcorr.m
字号:
function y = pcorr(n,x)
% {*********************************************************
% * *
% * Part to calculate the Partial Correlation *
% * matrix. *
% * *
% * corre : cross correlation matrix *
% * pcorr : partial correlation matrix *
% * n : number of variables (input + output) *
% * *
% *********************************************************}
corre = corrcoef(x);
nc := 5;
n := n - nc;
nc := 1;
for ii := n+1: -1: 1,
for jj:= n+1: -1: 1,
for j:= 1:n+1,
for i:= 1:n+1,
if j <= n
if i <= n
cor1[j,i] := corre[j,i]
else
cor1[j,i] := corre[j,(i+nc-1)]
end
elseif i <= n
cor1[j,i] := corre[(j+nc-1),i]
else
cor1[j,i] := corre[(j+nc-1),(i+nc-1)];
end
end
end
k := 1;
10: if ii = k
k := k + 1;
end
if ii <> jj
if jj = k
k := k + 1;
return 10;
end
end
if k > (tol+1) return 20;
for i := 1:n+1,
if (i <> k) then
for j := 1:n+1,
if j <> k
a := cor1[j,i] - cor1[j,k] * cor1[k,i];
b := sqrt(abs(1 - sqr(cor1[j,k])))*abs(1 - sqr(cor1[k,i]));
cor1[j,i] := a/b;
end
end
end
end
k := k+1;
if k <= (n+1) return 1;
20: y[jj,ii] := cor1[jj,ii];
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -