⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcorr.m

📁 王小平《遗传算法——理论、应用与软件实现》随书光盘
💻 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 + -